diff --git a/404.html b/404.html index 167d519b8..6334faab3 100644 --- a/404.html +++ b/404.html @@ -17,7 +17,7 @@
Skip to content

404

PAGE NOT FOUND

But if you don't change your direction, and if you keep looking, you may end up where you are heading.
- + \ No newline at end of file diff --git a/assets/case_case1.md.b9564d08.js b/assets/case_case1.md.1efd5dc7.js similarity index 99% rename from assets/case_case1.md.b9564d08.js rename to assets/case_case1.md.1efd5dc7.js index f0094baef..b033498ee 100644 --- a/assets/case_case1.md.b9564d08.js +++ b/assets/case_case1.md.1efd5dc7.js @@ -1 +1 @@ -import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1719133423000}'),o={name:"case/case1.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

bash <(wget -qO- ecs.0s.hk)

bash <(wget -qO- ecs.12345.ing)

无交互形式-参数模式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

或通过

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh

下载文件后使用类似

bash
bash ecs.sh -m 1

这样的参数命令指定选项执行

以下为参数说明:

指令项目说明备注
-m必填项可指定原本menu中的对应选项,最多支持三层选择,例如执行bash ecs.sh -m 5 1 1将选择主菜单第5选项下的第1选项下的子选项1的脚本执行可缺省仅指定一个参数,如-m 1仅指定执行融合怪完全体,执行-m 1 0以及-m 1 0 0都是指定执行融合怪完全体
-en可选项可指定强制输出为英文无该指令则默认使用中文输出
-i可选项可指定回程路由测试中的目标IPV4地址可通过ip.sbipinfo.io等网站获取本地IPV4地址后指定
-r可选项可指定回程路由测试中的目标IPV4地址,可选b g s c 分别对应北京广州上海、成都```-r b指定测试北京回程(三网)
可指定仅测试IPV6三网,可选 b6 g6 s6 分别对应 北京广州上海 的三网的IPV6地址-r b6 指定测试北京IPV6地址回程(三网)
-base可选项可指定仅测试基础的系统信息无该指令则默认按照menu选项的组合测试
-ctype可选项可指定通过何种方式测试cpu,可选gb4gb5gb6分别对应geekbench456版本无该指令则默认使用sysbench测试
-dtype可选项可指定测试硬盘IO的程序,可选ddfio,前者测试快后者测试慢无该指令则默认都使用进行测试
-mdisk可选项可指定测试多个挂载盘的IO注意本指令包含测试系统盘
-stype可选项可指定使用.cn还是.net的数据进行测速无该指令则默认使用.net数据测速优先,不可用时才替换为.cn数据
-bansp可选项可指定强制不测试网速无该指令则默认测试网速
-banup可选项可指定强制不生成分享链接无该指令则默认生成分享链接

IP质量检测

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)

需要事先安裝dos2unix

bash
wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh\ndos2unix ipcheck.sh\nbash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',88),l=[p];function n(c,r,i,h,d,b){return e(),a("div",null,l)}const m=s(o,[["render",n]]);export{y as __pageData,m as default}; +import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1719133454000}'),o={name:"case/case1.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

bash <(wget -qO- ecs.0s.hk)

bash <(wget -qO- ecs.12345.ing)

无交互形式-参数模式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

或通过

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh

下载文件后使用类似

bash
bash ecs.sh -m 1

这样的参数命令指定选项执行

以下为参数说明:

指令项目说明备注
-m必填项可指定原本menu中的对应选项,最多支持三层选择,例如执行bash ecs.sh -m 5 1 1将选择主菜单第5选项下的第1选项下的子选项1的脚本执行可缺省仅指定一个参数,如-m 1仅指定执行融合怪完全体,执行-m 1 0以及-m 1 0 0都是指定执行融合怪完全体
-en可选项可指定强制输出为英文无该指令则默认使用中文输出
-i可选项可指定回程路由测试中的目标IPV4地址可通过ip.sbipinfo.io等网站获取本地IPV4地址后指定
-r可选项可指定回程路由测试中的目标IPV4地址,可选b g s c 分别对应北京广州上海、成都```-r b指定测试北京回程(三网)
可指定仅测试IPV6三网,可选 b6 g6 s6 分别对应 北京广州上海 的三网的IPV6地址-r b6 指定测试北京IPV6地址回程(三网)
-base可选项可指定仅测试基础的系统信息无该指令则默认按照menu选项的组合测试
-ctype可选项可指定通过何种方式测试cpu,可选gb4gb5gb6分别对应geekbench456版本无该指令则默认使用sysbench测试
-dtype可选项可指定测试硬盘IO的程序,可选ddfio,前者测试快后者测试慢无该指令则默认都使用进行测试
-mdisk可选项可指定测试多个挂载盘的IO注意本指令包含测试系统盘
-stype可选项可指定使用.cn还是.net的数据进行测速无该指令则默认使用.net数据测速优先,不可用时才替换为.cn数据
-bansp可选项可指定强制不测试网速无该指令则默认测试网速
-banup可选项可指定强制不生成分享链接无该指令则默认生成分享链接

IP质量检测

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)

需要事先安裝dos2unix

bash
wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh\ndos2unix ipcheck.sh\nbash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',88),l=[p];function n(c,r,i,h,d,b){return e(),a("div",null,l)}const m=s(o,[["render",n]]);export{y as __pageData,m as default}; diff --git a/assets/case_case1.md.b9564d08.lean.js b/assets/case_case1.md.1efd5dc7.lean.js similarity index 99% rename from assets/case_case1.md.b9564d08.lean.js rename to assets/case_case1.md.1efd5dc7.lean.js index f0094baef..b033498ee 100644 --- a/assets/case_case1.md.b9564d08.lean.js +++ b/assets/case_case1.md.1efd5dc7.lean.js @@ -1 +1 @@ -import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1719133423000}'),o={name:"case/case1.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

bash <(wget -qO- ecs.0s.hk)

bash <(wget -qO- ecs.12345.ing)

无交互形式-参数模式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

或通过

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh

下载文件后使用类似

bash
bash ecs.sh -m 1

这样的参数命令指定选项执行

以下为参数说明:

指令项目说明备注
-m必填项可指定原本menu中的对应选项,最多支持三层选择,例如执行bash ecs.sh -m 5 1 1将选择主菜单第5选项下的第1选项下的子选项1的脚本执行可缺省仅指定一个参数,如-m 1仅指定执行融合怪完全体,执行-m 1 0以及-m 1 0 0都是指定执行融合怪完全体
-en可选项可指定强制输出为英文无该指令则默认使用中文输出
-i可选项可指定回程路由测试中的目标IPV4地址可通过ip.sbipinfo.io等网站获取本地IPV4地址后指定
-r可选项可指定回程路由测试中的目标IPV4地址,可选b g s c 分别对应北京广州上海、成都```-r b指定测试北京回程(三网)
可指定仅测试IPV6三网,可选 b6 g6 s6 分别对应 北京广州上海 的三网的IPV6地址-r b6 指定测试北京IPV6地址回程(三网)
-base可选项可指定仅测试基础的系统信息无该指令则默认按照menu选项的组合测试
-ctype可选项可指定通过何种方式测试cpu,可选gb4gb5gb6分别对应geekbench456版本无该指令则默认使用sysbench测试
-dtype可选项可指定测试硬盘IO的程序,可选ddfio,前者测试快后者测试慢无该指令则默认都使用进行测试
-mdisk可选项可指定测试多个挂载盘的IO注意本指令包含测试系统盘
-stype可选项可指定使用.cn还是.net的数据进行测速无该指令则默认使用.net数据测速优先,不可用时才替换为.cn数据
-bansp可选项可指定强制不测试网速无该指令则默认测试网速
-banup可选项可指定强制不生成分享链接无该指令则默认生成分享链接

IP质量检测

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)

需要事先安裝dos2unix

bash
wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh\ndos2unix ipcheck.sh\nbash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',88),l=[p];function n(c,r,i,h,d,b){return e(),a("div",null,l)}const m=s(o,[["render",n]]);export{y as __pageData,m as default}; +import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case1.md","filePath":"case/case1.md","lastUpdated":1719133454000}'),o={name:"case/case1.md"},p=t('

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

bash <(wget -qO- ecs.0s.hk)

bash <(wget -qO- ecs.12345.ing)

无交互形式-参数模式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

或通过

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh

下载文件后使用类似

bash
bash ecs.sh -m 1

这样的参数命令指定选项执行

以下为参数说明:

指令项目说明备注
-m必填项可指定原本menu中的对应选项,最多支持三层选择,例如执行bash ecs.sh -m 5 1 1将选择主菜单第5选项下的第1选项下的子选项1的脚本执行可缺省仅指定一个参数,如-m 1仅指定执行融合怪完全体,执行-m 1 0以及-m 1 0 0都是指定执行融合怪完全体
-en可选项可指定强制输出为英文无该指令则默认使用中文输出
-i可选项可指定回程路由测试中的目标IPV4地址可通过ip.sbipinfo.io等网站获取本地IPV4地址后指定
-r可选项可指定回程路由测试中的目标IPV4地址,可选b g s c 分别对应北京广州上海、成都```-r b指定测试北京回程(三网)
可指定仅测试IPV6三网,可选 b6 g6 s6 分别对应 北京广州上海 的三网的IPV6地址-r b6 指定测试北京IPV6地址回程(三网)
-base可选项可指定仅测试基础的系统信息无该指令则默认按照menu选项的组合测试
-ctype可选项可指定通过何种方式测试cpu,可选gb4gb5gb6分别对应geekbench456版本无该指令则默认使用sysbench测试
-dtype可选项可指定测试硬盘IO的程序,可选ddfio,前者测试快后者测试慢无该指令则默认都使用进行测试
-mdisk可选项可指定测试多个挂载盘的IO注意本指令包含测试系统盘
-stype可选项可指定使用.cn还是.net的数据进行测速无该指令则默认使用.net数据测速优先,不可用时才替换为.cn数据
-bansp可选项可指定强制不测试网速无该指令则默认测试网速
-banup可选项可指定强制不生成分享链接无该指令则默认生成分享链接

IP质量检测

bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)

需要事先安裝dos2unix

bash
wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh\ndos2unix ipcheck.sh\nbash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

',88),l=[p];function n(c,r,i,h,d,b){return e(),a("div",null,l)}const m=s(o,[["render",n]]);export{y as __pageData,m as default}; diff --git a/assets/case_case2.md.234d1013.js b/assets/case_case2.md.ddbd7763.js similarity index 99% rename from assets/case_case2.md.234d1013.js rename to assets/case_case2.md.ddbd7763.js index b8eb2396d..cf4bd4049 100644 --- a/assets/case_case2.md.234d1013.js +++ b/assets/case_case2.md.ddbd7763.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1719133423000}'),o={name:"case/case2.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1719133454000}'),o={name:"case/case2.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 系 - 推荐,脚本自动挂起到后台
    • Debian 系 - 部分可能需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行,自动添加常用的安装包通道源
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的一点
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
 iptables -A OUTPUT -p tcp --dport 25 -j DROP
 /sbin/iptables-save

设置语言包

bash
sudo apt-get update
 sudo apt-get install language-pack-en-base
diff --git a/assets/case_case2.md.234d1013.lean.js b/assets/case_case2.md.ddbd7763.lean.js
similarity index 99%
rename from assets/case_case2.md.234d1013.lean.js
rename to assets/case_case2.md.ddbd7763.lean.js
index b8eb2396d..cf4bd4049 100644
--- a/assets/case_case2.md.234d1013.lean.js
+++ b/assets/case_case2.md.ddbd7763.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1719133423000}'),o={name:"case/case2.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 系 - 推荐,脚本自动挂起到后台
    • Debian 系 - 部分可能需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行,自动添加常用的安装包通道源
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的一点
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case2.md","filePath":"case/case2.md","lastUpdated":1719133454000}'),o={name:"case/case2.md"},p=n(`

仓库

https://github.com/spiritLHLS/one-click-installation-script

Hits

所有脚本如需在国内服务器使用,请在链接前加上https://ghproxy.com/确保命令可以下载本仓库的shell脚本执行

一键修复脚本

运行所有一键修复脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键尝试修复apt源

  • 支持系统:Ubuntu 12+,Debian 6+
  • 修复apt下载包进程意外退出导致的源锁死
  • 修复apt源broken损坏
  • 修复apt源多进程占用锁死
  • 修复apt源公钥缺失
  • 修复替换系统可用的apt源列表,国内用阿里源,国外用官方源
  • 修复本机的Ubuntu系统是EOL非长期维护的版本(奇数或陈旧的偶数版本),将替换为Ubuntu官方的old-releases仓库以支持apt的使用
  • 修复只保证apt update不会报错,其他命令报错未修复
  • 如若修复后install还有问题,重启服务器解决问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/package.sh -o package.sh && chmod +x package.sh && bash package.sh

一键尝试修复系统时间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 由于系统时间不准确都是未进行时区时间同步造成的,使用chronyd进行时区时间同步后应当解决了问题
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/modify_time.sh -o modify_time.sh && chmod +x modify_time.sh && bash modify_time.sh

一键尝试修复sudo警告

  • 一键尝试修复sudo: unable to resolve host xxx: Name or service not known警告(爆错)

不要在生产环境上使用该脚本,否则容易造成网络hosts配置错误,配置的host名字不在外网IP上反而在内网IP(127.0.0.1)上

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/check_sudo.sh -o check_sudo.sh && chmod +x check_sudo.sh && bash check_sudo.sh

一键修改系统自带的journal日志记录大小释放系统盘空间

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 1.自定义修改大小,单位为MB,一般500或者1000即可,有的系统日志默认给了5000甚至更多,不是做站啥的没必要
    • 请注意,修改journal目录大小会影响系统日志的记录,因此,在修改journal目录大小之前如果需要之前的日志,建议先备份系统日志到本地
  • 2.自定义修改设置系统日志保留日期时长,超过日期时长的日志将被清除
  • 3.默认修改日志只记录warning等级(无法自定义)
  • 4.以后日志的产生将受到日志文件大小,日志保留时间,日志保留等级的限制
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/resize_journal.sh -o resize_journal.sh && chmod +x resize_journal.sh && bash resize_journal.sh

一键尝试修复网络

该脚本轻易勿要使用,请确保运行时服务器无重要文件或程序,出现运行bug后续可能需要重装系统

一定要在screen中执行该脚本,否则可能导致修改过程中ssh断链接而修改失败卡住最终SSH无法连接!不在screen中执行后果自负!

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 尝试修复nameserver为google源或cloudflare源
  • 尝试修复为IP类型对应的网络优先级(默认IPV4类型,纯V6类型再替换为IPV6类型)
bash
curl -L https://cdn.spiritlhl.workers.dev/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/repair_scripts/network.sh -o network.sh && chmod +x network.sh && bash network.sh

如果是纯V6的也可以不使用上面脚本的nat64,使用warp添加V4网络

比如:https://github.com/fscarmen/warp

bash
wget -N https://raw.githubusercontent.com/fscarmen/warp/main/menu.sh && bash menu.sh [option] [lisence]

非纯V6的,带V4切换优先级到IPV4可用以下命令

bash
sudo sed -i 's/.*precedence ::ffff:0:0\\/96.*/precedence ::ffff:0:0\\/96  100/g' /etc/gai.conf && sudo systemctl restart networking

一键环境安装脚本

只推荐在新服务器上安装,环境不纯净不保证不出bug

运行所有一键环境安装脚本前注意看说明,以及保证服务器无重要数据,运行后造成的一切后果作者不负任何责任,自行评判风险!

一键安装jupyter环境

  • 本脚本尝试使用Miniconda3安装虚拟环境jupyter-env再进行jupyter和jupyterlab的安装,如若安装机器不纯净勿要轻易使用本脚本!
  • 本脚本为实验性脚本可能会有各种bug,勿要轻易尝试!
  • 验证已支持的系统:
    • Ubuntu 系 - 推荐,脚本自动挂起到后台
    • Debian 系 - 部分可能需要手动挂起到后台,详看脚本运行安装完毕的后续提示
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
  • 执行脚本,之前有用本脚本安装过则直接打印设置的登陆信息,没安装过则进行安装再打印信息,如果已安装但未启动则自动启动后再打印信息
  • 如果是初次安装无脑输入y回车即可,按照提示进行操作即可,安装完毕将在后台常驻运行,自动添加常用的安装包通道源
  • 安装完毕后,如果需要在lab中安装第三方库需要在lab中使用terminal并使用conda进行下载而不是pip3下载,这是需要注意的一点
  • 安装过程中有判断是否为中国IP,可选择是否使用中国镜像

原始用途是方便快捷的在按小时计费的超大型服务器上部署python环境进行科学计算,充分利用时间别浪费在构建环境上。

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/jupyter.sh -o jupyter.sh && chmod +x jupyter.sh && bash jupyter.sh

一键安装R语言环境

  • 安装前需使用Miniconda3安装虚拟环境jupyter-env,然后进行jupyter和jupyterlab的安装,再然后才能安装本内核
  • 简单的说,需要执行本仓库对应的jupyter安装脚本再运行本脚本安装R语言环境,会自动安装R环境内核和图形设备支持库
  • x11可能需要手动启动一下,执行sudo /usr/bin/Xorg
  • 可能支持的系统(未验证):centos 7+,Fedora,Almalinux 8.5+
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/R.sh -o R.sh && chmod +x R.sh && bash R.sh

一键安装rust环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方脚本安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/rust.sh -o rust.sh && chmod +x rust.sh && bash rust.sh

一键安装C环境

  • 一键安装C++环境
  • 支持系统:使用apt或者yum作为包管理器的系统
  • 如果未安装则安装,如果有安装则提示升级
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/cplusplus.sh -o cplusplus.sh && chmod +x cplusplus.sh && bash cplusplus.sh

一键安装vnstat环境

  • 支持系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 加载官方文件编译安装,前置条件适配系统以及后置条件判断安装的版本
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/vnstat.sh -o vnstat.sh && chmod +x vnstat.sh && bash vnstat.sh

一键升级低版本debian为debian11

  • 支持系统:debian 6+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到debian11
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/todebian11.sh -o todebian11.sh && chmod +x todebian11.sh && bash todebian11.sh

一键升级低版本ubuntu为ubuntu22

  • 支持系统:Ubuntu 16+
  • 升级后需要重启系统加载内核,升级过程中需要选择的都无脑按回车即可
  • 升级是一个版本迭代一个版本,所以如果版本低,每执行一次升级一个版本,直至升级到ubuntu22
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/toubuntu22.sh -o toubuntu22.sh && chmod +x toubuntu22.sh && bash toubuntu22.sh

一键安装zipline平台

  • 应该支持的系统:Ubuntu 18+,Debian 8+,centos 7+,Fedora,Almalinux 8.5+
  • 暂时只在Ubuntu上验证无问题
  • 如若要设置反向代理绑定域名,安装前请保证原服务器未安装过nginx,如若已安装过nginx,请自行配置反向代理本机的3000端口
  • 默认一路回车是不启用反代不安装nginx的,自行选择,如需通过本脚本配置反代系统一定要未安装过nginx并在填写y或Y开启安装
  • zipline 平台功能: ShareX,自定义短链接,文件上传分享,多用户校验,高亮显示,阅后即焚,设置简单 (含pastebin)
  • 自动安装docker,docker-compose,如若已安装zipline在/root目录下,则自动更新
  • 反向代理如若已设置成功,还需要在面板设置中填写域名,绑定启用
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/zipline.sh -o zipline.sh && chmod +x zipline.sh && bash zipline.sh

如果需要删除0字节文件,打开/root/zipline文件夹,执行

docker-compose exec zipline yarn scripts:clear-zero-byte

按照提示操作

一键安装filebrowser平台

  • 端口设置为3030了,其他登陆信息详见提示
  • filebrowser平台支持下载上传文件到服务器,批量下载多个文件(自定义压缩格式),构建文件分享链接,设置分享时长
  • 如果本地有启用IPV6优先级可能绑定到V6去了,使用lsof -i:3030查看绑定情况,切换优先级后再安装就正常了
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/filebrowser.sh -o filebrowser.sh && chmod +x filebrowser.sh && bash filebrowser.sh

一键删除平台监控

  • 一键移除大多数云服务器监控
  • 涵盖阿里云、腾讯云、华为云、UCLOUD、甲骨文云、京东云
bash
curl -L https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/install_scripts/dlm.sh -o dlm.sh && chmod +x dlm.shh && bash dlm.sh

部分手动命令

一键开启root登陆并替换密码

bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

一键屏蔽邮件端口避免被恶意程序使用

bash
iptables -A INPUT -p tcp --dport 25 -j DROP
 iptables -A OUTPUT -p tcp --dport 25 -j DROP
 /sbin/iptables-save

设置语言包

bash
sudo apt-get update
 sudo apt-get install language-pack-en-base
diff --git a/assets/case_case3.md.3cc37f04.js b/assets/case_case3.md.8293ccbb.js
similarity index 99%
rename from assets/case_case3.md.3cc37f04.js
rename to assets/case_case3.md.8293ccbb.js
index 840a4bf13..84ecf1804 100644
--- a/assets/case_case3.md.3cc37f04.js
+++ b/assets/case_case3.md.8293ccbb.js
@@ -1 +1 @@
-import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1719133423000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',44),i=[n];function c(r,l,o,h,d,g){return t(),s("div",null,i)}const u=e(p,[["render",c]]);export{m as __pageData,u as default}; +import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1719133454000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',44),i=[n];function c(r,l,o,h,d,g){return t(),s("div",null,i)}const u=e(p,[["render",c]]);export{m as __pageData,u as default}; diff --git a/assets/case_case3.md.3cc37f04.lean.js b/assets/case_case3.md.8293ccbb.lean.js similarity index 99% rename from assets/case_case3.md.3cc37f04.lean.js rename to assets/case_case3.md.8293ccbb.lean.js index 840a4bf13..84ecf1804 100644 --- a/assets/case_case3.md.3cc37f04.lean.js +++ b/assets/case_case3.md.8293ccbb.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1719133423000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',44),i=[n];function c(r,l,o,h,d,g){return t(),s("div",null,i)}const u=e(p,[["render",c]]);export{m as __pageData,u as default}; +import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case3.md","filePath":"case/case3.md","lastUpdated":1719133454000}'),p={name:"case/case3.md"},n=a('

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

',44),i=[n];function c(r,l,o,h,d,g){return t(),s("div",null,i)}const u=e(p,[["render",c]]);export{m as __pageData,u as default}; diff --git a/assets/case_case4.md.d96230dd.js b/assets/case_case4.md.d73febb6.js similarity index 98% rename from assets/case_case4.md.d96230dd.js rename to assets/case_case4.md.d73febb6.js index 8ed60fc67..bcb02d155 100644 --- a/assets/case_case4.md.d96230dd.js +++ b/assets/case_case4.md.d73febb6.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1719133423000}'),c={name:"case/case4.md"},s=r('

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

',16),o=[s];function n(l,h,i,p,b,u){return e(),t("div",null,o)}const g=a(c,[["render",n]]);export{k as __pageData,g as default}; +import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1719133454000}'),c={name:"case/case4.md"},s=r('

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

',16),o=[s];function n(l,h,i,p,b,u){return e(),t("div",null,o)}const g=a(c,[["render",n]]);export{k as __pageData,g as default}; diff --git a/assets/case_case4.md.d96230dd.lean.js b/assets/case_case4.md.d73febb6.lean.js similarity index 98% rename from assets/case_case4.md.d96230dd.lean.js rename to assets/case_case4.md.d73febb6.lean.js index 8ed60fc67..bcb02d155 100644 --- a/assets/case_case4.md.d96230dd.lean.js +++ b/assets/case_case4.md.d73febb6.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1719133423000}'),c={name:"case/case4.md"},s=r('

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

',16),o=[s];function n(l,h,i,p,b,u){return e(),t("div",null,o)}const g=a(c,[["render",n]]);export{k as __pageData,g as default}; +import{_ as a,v as e,b as t,R as r}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case4.md","filePath":"case/case4.md","lastUpdated":1719133454000}'),c={name:"case/case4.md"},s=r('

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

',16),o=[s];function n(l,h,i,p,b,u){return e(),t("div",null,o)}const g=a(c,[["render",n]]);export{k as __pageData,g as default}; diff --git a/assets/case_case5.md.52e35f45.js b/assets/case_case5.md.737f158a.js similarity index 97% rename from assets/case_case5.md.52e35f45.js rename to assets/case_case5.md.737f158a.js index e86a1e517..65fe9d491 100644 --- a/assets/case_case5.md.52e35f45.js +++ b/assets/case_case5.md.737f158a.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1719133423000}'),o={name:"case/case5.md"},r=s('

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

',11),l=[r];function n(i,c,p,h,m,d){return a(),t("div",null,l)}const b=e(o,[["render",n]]);export{f as __pageData,b as default}; +import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1719133454000}'),o={name:"case/case5.md"},r=s('

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

',11),l=[r];function n(i,c,p,h,m,d){return a(),t("div",null,l)}const b=e(o,[["render",n]]);export{f as __pageData,b as default}; diff --git a/assets/case_case5.md.52e35f45.lean.js b/assets/case_case5.md.737f158a.lean.js similarity index 97% rename from assets/case_case5.md.52e35f45.lean.js rename to assets/case_case5.md.737f158a.lean.js index e86a1e517..65fe9d491 100644 --- a/assets/case_case5.md.52e35f45.lean.js +++ b/assets/case_case5.md.737f158a.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1719133423000}'),o={name:"case/case5.md"},r=s('

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

',11),l=[r];function n(i,c,p,h,m,d){return a(),t("div",null,l)}const b=e(o,[["render",n]]);export{f as __pageData,b as default}; +import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case5.md","filePath":"case/case5.md","lastUpdated":1719133454000}'),o={name:"case/case5.md"},r=s('

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

',11),l=[r];function n(i,c,p,h,m,d){return a(),t("div",null,l)}const b=e(o,[["render",n]]);export{f as __pageData,b as default}; diff --git a/assets/case_case6.md.4268abbd.js b/assets/case_case6.md.a1d43b05.js similarity index 99% rename from assets/case_case6.md.4268abbd.js rename to assets/case_case6.md.a1d43b05.js index 772ffc612..10d496f94 100644 --- a/assets/case_case6.md.4268abbd.js +++ b/assets/case_case6.md.a1d43b05.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case6.md","filePath":"case/case6.md","lastUpdated":1719133423000}'),i={name:"case/case6.md"},r=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',26),l=[r];function p(o,c,n,h,d,m){return a(),s("div",null,l)}const g=e(i,[["render",p]]);export{b as __pageData,g as default}; +import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case6.md","filePath":"case/case6.md","lastUpdated":1719133454000}'),i={name:"case/case6.md"},r=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',26),l=[r];function p(o,c,n,h,d,m){return a(),s("div",null,l)}const g=e(i,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/case_case6.md.4268abbd.lean.js b/assets/case_case6.md.a1d43b05.lean.js similarity index 99% rename from assets/case_case6.md.4268abbd.lean.js rename to assets/case_case6.md.a1d43b05.lean.js index 772ffc612..10d496f94 100644 --- a/assets/case_case6.md.4268abbd.lean.js +++ b/assets/case_case6.md.a1d43b05.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case6.md","filePath":"case/case6.md","lastUpdated":1719133423000}'),i={name:"case/case6.md"},r=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',26),l=[r];function p(o,c,n,h,d,m){return a(),s("div",null,l)}const g=e(i,[["render",p]]);export{b as __pageData,g as default}; +import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case6.md","filePath":"case/case6.md","lastUpdated":1719133454000}'),i={name:"case/case6.md"},r=t('

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

',26),l=[r];function p(o,c,n,h,d,m){return a(),s("div",null,l)}const g=e(i,[["render",p]]);export{b as __pageData,g as default}; diff --git a/assets/case_case7.md.5d8257cc.js b/assets/case_case7.md.c0ccc55e.js similarity index 98% rename from assets/case_case7.md.5d8257cc.js rename to assets/case_case7.md.c0ccc55e.js index b6317e542..db059377d 100644 --- a/assets/case_case7.md.5d8257cc.js +++ b/assets/case_case7.md.c0ccc55e.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as o}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1719133423000}'),e={name:"case/case7.md"},n=o('

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

',15),t=[n];function l(r,c,C,i,h,d){return a(),p("div",null,t)}const A=s(e,[["render",l]]);export{m as __pageData,A as default}; +import{_ as s,v as a,b as p,R as o}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1719133454000}'),e={name:"case/case7.md"},n=o('

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

',15),t=[n];function l(r,c,C,i,h,d){return a(),p("div",null,t)}const A=s(e,[["render",l]]);export{m as __pageData,A as default}; diff --git a/assets/case_case7.md.5d8257cc.lean.js b/assets/case_case7.md.c0ccc55e.lean.js similarity index 98% rename from assets/case_case7.md.5d8257cc.lean.js rename to assets/case_case7.md.c0ccc55e.lean.js index b6317e542..db059377d 100644 --- a/assets/case_case7.md.5d8257cc.lean.js +++ b/assets/case_case7.md.c0ccc55e.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as p,R as o}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1719133423000}'),e={name:"case/case7.md"},n=o('

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

',15),t=[n];function l(r,c,C,i,h,d){return a(),p("div",null,t)}const A=s(e,[["render",l]]);export{m as __pageData,A as default}; +import{_ as s,v as a,b as p,R as o}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case7.md","filePath":"case/case7.md","lastUpdated":1719133454000}'),e={name:"case/case7.md"},n=o('

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

',15),t=[n];function l(r,c,C,i,h,d){return a(),p("div",null,t)}const A=s(e,[["render",l]]);export{m as __pageData,A as default}; diff --git a/assets/case_case8.md.a8e8a0b7.js b/assets/case_case8.md.a697c113.js similarity index 97% rename from assets/case_case8.md.a8e8a0b7.js rename to assets/case_case8.md.a697c113.js index f4667a9d0..9f9cdc135 100644 --- a/assets/case_case8.md.a8e8a0b7.js +++ b/assets/case_case8.md.a697c113.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as r}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case8.md","filePath":"case/case8.md","lastUpdated":1719133423000}'),t={name:"case/case8.md"},p=r('

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

',11),n=[p];function o(l,c,d,i,h,m){return s(),e("div",null,n)}const A=a(t,[["render",o]]);export{y as __pageData,A as default}; +import{_ as a,v as s,b as e,R as r}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case8.md","filePath":"case/case8.md","lastUpdated":1719133454000}'),t={name:"case/case8.md"},p=r('

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

',11),n=[p];function o(l,c,d,i,h,m){return s(),e("div",null,n)}const A=a(t,[["render",o]]);export{y as __pageData,A as default}; diff --git a/assets/case_case8.md.a8e8a0b7.lean.js b/assets/case_case8.md.a697c113.lean.js similarity index 97% rename from assets/case_case8.md.a8e8a0b7.lean.js rename to assets/case_case8.md.a697c113.lean.js index f4667a9d0..9f9cdc135 100644 --- a/assets/case_case8.md.a8e8a0b7.lean.js +++ b/assets/case_case8.md.a697c113.lean.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as r}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case8.md","filePath":"case/case8.md","lastUpdated":1719133423000}'),t={name:"case/case8.md"},p=r('

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

',11),n=[p];function o(l,c,d,i,h,m){return s(),e("div",null,n)}const A=a(t,[["render",o]]);export{y as __pageData,A as default}; +import{_ as a,v as s,b as e,R as r}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case8.md","filePath":"case/case8.md","lastUpdated":1719133454000}'),t={name:"case/case8.md"},p=r('

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

',11),n=[p];function o(l,c,d,i,h,m){return s(),e("div",null,n)}const A=a(t,[["render",o]]);export{y as __pageData,A as default}; diff --git a/assets/case_case9.md.a77a6931.js b/assets/case_case9.md.4c62dc60.js similarity index 97% rename from assets/case_case9.md.a77a6931.js rename to assets/case_case9.md.4c62dc60.js index a3772d100..cfca50b48 100644 --- a/assets/case_case9.md.a77a6931.js +++ b/assets/case_case9.md.4c62dc60.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case9.md","filePath":"case/case9.md","lastUpdated":1719133423000}'),n={name:"case/case9.md"},s=o('

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[s];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(n,[["render",i]]);export{v as __pageData,y as default}; +import{_ as a,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case9.md","filePath":"case/case9.md","lastUpdated":1719133454000}'),n={name:"case/case9.md"},s=o('

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[s];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(n,[["render",i]]);export{v as __pageData,y as default}; diff --git a/assets/case_case9.md.a77a6931.lean.js b/assets/case_case9.md.4c62dc60.lean.js similarity index 97% rename from assets/case_case9.md.a77a6931.lean.js rename to assets/case_case9.md.4c62dc60.lean.js index a3772d100..cfca50b48 100644 --- a/assets/case_case9.md.a77a6931.lean.js +++ b/assets/case_case9.md.4c62dc60.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case9.md","filePath":"case/case9.md","lastUpdated":1719133423000}'),n={name:"case/case9.md"},s=o('

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[s];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(n,[["render",i]]);export{v as __pageData,y as default}; +import{_ as a,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const v=JSON.parse('{"title":"仓库","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"case/case9.md","filePath":"case/case9.md","lastUpdated":1719133454000}'),n={name:"case/case9.md"},s=o('

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

',12),l=[s];function i(r,c,p,h,d,m){return e(),t("div",null,l)}const y=a(n,[["render",i]]);export{v as __pageData,y as default}; diff --git a/assets/case_index.md.31c239ea.js b/assets/case_index.md.f0d9aed3.js similarity index 93% rename from assets/case_index.md.31c239ea.js rename to assets/case_index.md.f0d9aed3.js index b1b6548fb..58ae6ae96 100644 --- a/assets/case_index.md.31c239ea.js +++ b/assets/case_index.md.f0d9aed3.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1719133423000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1719133454000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; diff --git a/assets/case_index.md.31c239ea.lean.js b/assets/case_index.md.f0d9aed3.lean.js similarity index 93% rename from assets/case_index.md.31c239ea.lean.js rename to assets/case_index.md.f0d9aed3.lean.js index b1b6548fb..58ae6ae96 100644 --- a/assets/case_index.md.31c239ea.lean.js +++ b/assets/case_index.md.f0d9aed3.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1719133423000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","description":"","frontmatter":{"layout":"home","title":"Linux相关项目","titleTemplate":"与Linux相关的一些一键脚本项目","hero":{"name":"Linux相关项目","text":"与Linux相关的一些一键脚本项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"查看项目 →","link":"/case/case1"}]},"features":[{"title":"注意事项","details":"注意每个项目说明,部分项目有可能对系统造成不可修复的错误,需要重装系统,请仔细查看说明"}]},"headers":[],"relativePath":"case/index.md","filePath":"case/index.md","lastUpdated":1719133454000}'),i={name:"case/index.md"};function s(n,r,o,c,d,l){return t(),a("div")}const x=e(i,[["render",s]]);export{m as __pageData,x as default}; diff --git a/assets/developer_index.md.42177fda.js b/assets/developer_index.md.f1f373b6.js similarity index 93% rename from assets/developer_index.md.42177fda.js rename to assets/developer_index.md.f1f373b6.js index e25fa9172..698909a5c 100644 --- a/assets/developer_index.md.42177fda.js +++ b/assets/developer_index.md.f1f373b6.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1719133423000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1719133454000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/developer_index.md.42177fda.lean.js b/assets/developer_index.md.f1f373b6.lean.js similarity index 93% rename from assets/developer_index.md.42177fda.lean.js rename to assets/developer_index.md.f1f373b6.lean.js index e25fa9172..698909a5c 100644 --- a/assets/developer_index.md.42177fda.lean.js +++ b/assets/developer_index.md.f1f373b6.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1719133423000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","description":"","frontmatter":{"layout":"home","title":"开发手册","titleTemplate":"欢迎使用一键虚拟化项目开发手册,欢迎你提出高质量的Pull Request,帮助一键虚拟化项目变得更好!","hero":{"name":"开发手册","text":"开发手册","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/developer/l10n"}]}},"headers":[],"relativePath":"developer/index.md","filePath":"developer/index.md","lastUpdated":1719133454000}'),s={name:"developer/index.md"};function n(r,o,i,l,d,p){return t(),a("div")}const u=e(s,[["render",n]]);export{c as __pageData,u as default}; diff --git a/assets/developer_l10n.md.72198a1c.js b/assets/developer_l10n.md.ead72b05.js similarity index 90% rename from assets/developer_l10n.md.72198a1c.js rename to assets/developer_l10n.md.ead72b05.js index ce7bcf359..36a63b700 100644 --- a/assets/developer_l10n.md.72198a1c.js +++ b/assets/developer_l10n.md.ead72b05.js @@ -1 +1 @@ -import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1719133423000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; +import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1719133454000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/developer_l10n.md.72198a1c.lean.js b/assets/developer_l10n.md.ead72b05.lean.js similarity index 90% rename from assets/developer_l10n.md.72198a1c.lean.js rename to assets/developer_l10n.md.ead72b05.lean.js index ce7bcf359..36a63b700 100644 --- a/assets/developer_l10n.md.72198a1c.lean.js +++ b/assets/developer_l10n.md.ead72b05.lean.js @@ -1 +1 @@ -import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1719133423000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; +import{_ as e,v as o,b as t,R as a}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"developer/l10n.md","filePath":"developer/l10n.md","lastUpdated":1719133454000}'),l={name:"developer/l10n.md"},r=a('

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
',5),s=[r];function d(i,n,c,h,p,_){return o(),t("div",null,s)}const f=e(l,[["render",d]]);export{u as __pageData,f as default}; diff --git a/assets/en_developer_index.md.8e17c206.js b/assets/en_developer_index.md.c37d643c.js similarity index 92% rename from assets/en_developer_index.md.8e17c206.js rename to assets/en_developer_index.md.c37d643c.js index 756da626b..cc225f0f0 100644 --- a/assets/en_developer_index.md.8e17c206.js +++ b/assets/en_developer_index.md.c37d643c.js @@ -1 +1 @@ -import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1719133423000}'),a={name:"en/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; +import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1719133454000}'),a={name:"en/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; diff --git a/assets/en_developer_index.md.8e17c206.lean.js b/assets/en_developer_index.md.c37d643c.lean.js similarity index 92% rename from assets/en_developer_index.md.8e17c206.lean.js rename to assets/en_developer_index.md.c37d643c.lean.js index 756da626b..cc225f0f0 100644 --- a/assets/en_developer_index.md.8e17c206.lean.js +++ b/assets/en_developer_index.md.c37d643c.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1719133423000}'),a={name:"en/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; +import{_ as e,v as t,b as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","description":"","frontmatter":{"layout":"home","title":"Development Manual","titleTemplate":"Welcome to the oneclickvirt Development Manual.","hero":{"name":"Development Manual","text":"Welcome to the oneclickvirt Development Manual.","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Start Now →","link":"/en_US/developer/l10n"}]}},"headers":[],"relativePath":"en/developer/index.md","filePath":"en/developer/index.md","lastUpdated":1719133454000}'),a={name:"en/developer/index.md"};function o(l,i,r,p,m,s){return t(),n("div")}const v=e(a,[["render",o]]);export{d as __pageData,v as default}; diff --git a/assets/en_developer_l10n.md.5eba09c5.js b/assets/en_developer_l10n.md.06b2854b.js similarity index 95% rename from assets/en_developer_l10n.md.5eba09c5.js rename to assets/en_developer_l10n.md.06b2854b.js index 711cd27d1..d201b8071 100644 --- a/assets/en_developer_l10n.md.5eba09c5.js +++ b/assets/en_developer_l10n.md.06b2854b.js @@ -1 +1 @@ -import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1719133423000}'),a={name:"en/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1719133454000}'),a={name:"en/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/en_developer_l10n.md.5eba09c5.lean.js b/assets/en_developer_l10n.md.06b2854b.lean.js similarity index 95% rename from assets/en_developer_l10n.md.5eba09c5.lean.js rename to assets/en_developer_l10n.md.06b2854b.lean.js index 711cd27d1..d201b8071 100644 --- a/assets/en_developer_l10n.md.5eba09c5.lean.js +++ b/assets/en_developer_l10n.md.06b2854b.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1719133423000}'),a={name:"en/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const p=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/developer/l10n.md","filePath":"en/developer/l10n.md","lastUpdated":1719133454000}'),a={name:"en/developer/l10n.md"},i=o('

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
',5),l=[i];function r(d,s,c,u,f,h){return t(),n("div",null,l)}const x=e(a,[["render",r]]);export{p as __pageData,x as default}; diff --git a/assets/en_guide_dashboard.md.fca5171d.js b/assets/en_guide_dashboard.md.70f095cd.js similarity index 98% rename from assets/en_guide_dashboard.md.fca5171d.js rename to assets/en_guide_dashboard.md.70f095cd.js index 0f57dde3f..40645372c 100644 --- a/assets/en_guide_dashboard.md.fca5171d.js +++ b/assets/en_guide_dashboard.md.70f095cd.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1719133423000}'),o={name:"en/guide/dashboard.md"},i=r('

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



',27),s=[i];function n(c,l,p,h,m,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{b as __pageData,f as default}; +import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1719133454000}'),o={name:"en/guide/dashboard.md"},i=r('

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



',27),s=[i];function n(c,l,p,h,m,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{b as __pageData,f as default}; diff --git a/assets/en_guide_dashboard.md.fca5171d.lean.js b/assets/en_guide_dashboard.md.70f095cd.lean.js similarity index 98% rename from assets/en_guide_dashboard.md.fca5171d.lean.js rename to assets/en_guide_dashboard.md.70f095cd.lean.js index 0f57dde3f..40645372c 100644 --- a/assets/en_guide_dashboard.md.fca5171d.lean.js +++ b/assets/en_guide_dashboard.md.70f095cd.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1719133423000}'),o={name:"en/guide/dashboard.md"},i=r('

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



',27),s=[i];function n(c,l,p,h,m,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{b as __pageData,f as default}; +import{_ as e,v as t,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/dashboard.md","filePath":"en/guide/dashboard.md","lastUpdated":1719133454000}'),o={name:"en/guide/dashboard.md"},i=r('

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



',27),s=[i];function n(c,l,p,h,m,u){return t(),a("div",null,s)}const f=e(o,[["render",n]]);export{b as __pageData,f as default}; diff --git a/assets/en_guide_dashboardq.md.47a5e6f0.js b/assets/en_guide_dashboardq.md.451ef3d3.js similarity index 92% rename from assets/en_guide_dashboardq.md.47a5e6f0.js rename to assets/en_guide_dashboardq.md.451ef3d3.js index b52bffb54..3bd427854 100644 --- a/assets/en_guide_dashboardq.md.47a5e6f0.js +++ b/assets/en_guide_dashboardq.md.451ef3d3.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1719133423000}'),o={name:"en/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,f){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1719133454000}'),o={name:"en/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,f){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/assets/en_guide_dashboardq.md.47a5e6f0.lean.js b/assets/en_guide_dashboardq.md.451ef3d3.lean.js similarity index 92% rename from assets/en_guide_dashboardq.md.47a5e6f0.lean.js rename to assets/en_guide_dashboardq.md.451ef3d3.lean.js index b52bffb54..3bd427854 100644 --- a/assets/en_guide_dashboardq.md.47a5e6f0.lean.js +++ b/assets/en_guide_dashboardq.md.451ef3d3.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1719133423000}'),o={name:"en/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,f){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/dashboardq.md","filePath":"en/guide/dashboardq.md","lastUpdated":1719133454000}'),o={name:"en/guide/dashboardq.md"},n=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),r=[n];function p(d,i,c,l,h,f){return e(),s("div",null,r)}const u=a(o,[["render",p]]);export{m as __pageData,u as default}; diff --git a/assets/en_guide_docker_docker_build.md.40c712cc.js b/assets/en_guide_docker_docker_build.md.c0a1970f.js similarity index 99% rename from assets/en_guide_docker_docker_build.md.40c712cc.js rename to assets/en_guide_docker_docker_build.md.c0a1970f.js index 7f2c77fc3..19e0f4c3d 100644 --- a/assets/en_guide_docker_docker_build.md.40c712cc.js +++ b/assets/en_guide_docker_docker_build.md.c0a1970f.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_build.md","filePath":"en/guide/docker/docker_build.md","lastUpdated":1719133423000}'),e={name:"en/guide/docker/docker_build.md"},l=o(`

Introduction

There are two methods of building

Setting Up Standalone

  • Generate only one docker
  • Can be configured to bind a separate IPV6 address, but requires a docker previously installed using the environment installation command of this set of scripts, and requires the host to be bound to at least the /112 IPV6 subnet
  • Support for x86_64 and ARM architecture servers

Download the Script

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

Example

Run

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

Currently, the system only supports selecting:

  • alpine
  • debian
  • ubuntu
  • almalinux

with Debian being the default choice.

The following is the information for the created example container:

AttributeValue
Container Nametest
Username for SSH Loginroot
Password for SSH Login123456
Number of CPU Cores1
Memory Size512MB
SSH Port25000
Port Range for Internal and External Mapping34975 to 35000
Operating Systemdebian
Whether to bind a separate IPV6 addressN
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

Deleting the test container

shell
docker rm -f test
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_build.md","filePath":"en/guide/docker/docker_build.md","lastUpdated":1719133454000}'),e={name:"en/guide/docker/docker_build.md"},l=o(`

Introduction

There are two methods of building

Setting Up Standalone

  • Generate only one docker
  • Can be configured to bind a separate IPV6 address, but requires a docker previously installed using the environment installation command of this set of scripts, and requires the host to be bound to at least the /112 IPV6 subnet
  • Support for x86_64 and ARM architecture servers

Download the Script

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

Example

Run

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

Currently, the system only supports selecting:

  • alpine
  • debian
  • ubuntu
  • almalinux

with Debian being the default choice.

The following is the information for the created example container:

AttributeValue
Container Nametest
Username for SSH Loginroot
Password for SSH Login123456
Number of CPU Cores1
Memory Size512MB
SSH Port25000
Port Range for Internal and External Mapping34975 to 35000
Operating Systemdebian
Whether to bind a separate IPV6 addressN
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

Deleting the test container

shell
docker rm -f test
 rm -rf test
 ls

Accessing the test container

shell
docker exec -it test /bin/bash

To exit the container, simply execute exit.

Inquiry Information

shell
cat Container_Name(change me)

The output format is

Container_Name SSH_Port Root_Password Number_of_Cores Memory Start_of_Public_Port End_of_Public_Port

The docker's ipv6 address can only be looked up within the container itself, it doesn't exist in the docker's configuration

Batch Deployment

  • Run inheritance configuration generation multiple times in bulk.
  • When generating multiple instances, it is recommended to execute within a screen session to avoid SSH connection interruptions.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_docker.sh -o create_docker.sh && chmod +x create_docker.sh && bash create_docker.sh

Querying information on batch openings

shell
cat dclog

The output format is

Container_Name SSH_Port Root_Password Number_of_Cores Memory Start_of_Public_Port End_of_Public_Port

One line corresponds to information about a container, the docker's ipv6 address can only be looked up within the container itself, it doesn't exist in the docker's configuration.

Uninstall all Docker containers and images

The following command offload ignores ndpresponder to prevent IPV6 configuration failure

shell
docker ps -aq --format '{{.Names}}' | grep -E '^ndpresponder' | xargs -r docker rm -f
 docker images -aq --format '{{.Repository}}:{{.Tag}}' | grep -E '^ndpresponder' | xargs -r docker rmi
diff --git a/assets/en_guide_docker_docker_build.md.40c712cc.lean.js b/assets/en_guide_docker_docker_build.md.c0a1970f.lean.js
similarity index 99%
rename from assets/en_guide_docker_docker_build.md.40c712cc.lean.js
rename to assets/en_guide_docker_docker_build.md.c0a1970f.lean.js
index 7f2c77fc3..19e0f4c3d 100644
--- a/assets/en_guide_docker_docker_build.md.40c712cc.lean.js
+++ b/assets/en_guide_docker_docker_build.md.c0a1970f.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_build.md","filePath":"en/guide/docker/docker_build.md","lastUpdated":1719133423000}'),e={name:"en/guide/docker/docker_build.md"},l=o(`

Introduction

There are two methods of building

Setting Up Standalone

  • Generate only one docker
  • Can be configured to bind a separate IPV6 address, but requires a docker previously installed using the environment installation command of this set of scripts, and requires the host to be bound to at least the /112 IPV6 subnet
  • Support for x86_64 and ARM architecture servers

Download the Script

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

Example

Run

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

Currently, the system only supports selecting:

  • alpine
  • debian
  • ubuntu
  • almalinux

with Debian being the default choice.

The following is the information for the created example container:

AttributeValue
Container Nametest
Username for SSH Loginroot
Password for SSH Login123456
Number of CPU Cores1
Memory Size512MB
SSH Port25000
Port Range for Internal and External Mapping34975 to 35000
Operating Systemdebian
Whether to bind a separate IPV6 addressN
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

Deleting the test container

shell
docker rm -f test
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"Introduction","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_build.md","filePath":"en/guide/docker/docker_build.md","lastUpdated":1719133454000}'),e={name:"en/guide/docker/docker_build.md"},l=o(`

Introduction

There are two methods of building

Setting Up Standalone

  • Generate only one docker
  • Can be configured to bind a separate IPV6 address, but requires a docker previously installed using the environment installation command of this set of scripts, and requires the host to be bound to at least the /112 IPV6 subnet
  • Support for x86_64 and ARM architecture servers

Download the Script

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

Example

Run

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

Currently, the system only supports selecting:

  • alpine
  • debian
  • ubuntu
  • almalinux

with Debian being the default choice.

The following is the information for the created example container:

AttributeValue
Container Nametest
Username for SSH Loginroot
Password for SSH Login123456
Number of CPU Cores1
Memory Size512MB
SSH Port25000
Port Range for Internal and External Mapping34975 to 35000
Operating Systemdebian
Whether to bind a separate IPV6 addressN
shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

Deleting the test container

shell
docker rm -f test
 rm -rf test
 ls

Accessing the test container

shell
docker exec -it test /bin/bash

To exit the container, simply execute exit.

Inquiry Information

shell
cat Container_Name(change me)

The output format is

Container_Name SSH_Port Root_Password Number_of_Cores Memory Start_of_Public_Port End_of_Public_Port

The docker's ipv6 address can only be looked up within the container itself, it doesn't exist in the docker's configuration

Batch Deployment

  • Run inheritance configuration generation multiple times in bulk.
  • When generating multiple instances, it is recommended to execute within a screen session to avoid SSH connection interruptions.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_docker.sh -o create_docker.sh && chmod +x create_docker.sh && bash create_docker.sh

Querying information on batch openings

shell
cat dclog

The output format is

Container_Name SSH_Port Root_Password Number_of_Cores Memory Start_of_Public_Port End_of_Public_Port

One line corresponds to information about a container, the docker's ipv6 address can only be looked up within the container itself, it doesn't exist in the docker's configuration.

Uninstall all Docker containers and images

The following command offload ignores ndpresponder to prevent IPV6 configuration failure

shell
docker ps -aq --format '{{.Names}}' | grep -E '^ndpresponder' | xargs -r docker rm -f
 docker images -aq --format '{{.Repository}}:{{.Tag}}' | grep -E '^ndpresponder' | xargs -r docker rmi
diff --git a/assets/en_guide_docker_docker_custom.md.771bcdf0.js b/assets/en_guide_docker_docker_custom.md.4545c0e8.js
similarity index 99%
rename from assets/en_guide_docker_docker_custom.md.771bcdf0.js
rename to assets/en_guide_docker_docker_custom.md.4545c0e8.js
index d375f3877..8f4ebc7c4 100644
--- a/assets/en_guide_docker_docker_custom.md.771bcdf0.js
+++ b/assets/en_guide_docker_docker_custom.md.4545c0e8.js
@@ -1,4 +1,4 @@
-import{_ as e,v as s,b as o,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1719133423000}'),a={name:"en/guide/docker/docker_custom.md"},t=n(`

Script for One-Click Installation of Certain Containers using Docker

Each container has specific configuration requirements; please refer to them individually.

If the configured memory is not enough, then it's okay to make up for it with the virtual memory here.

Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them

One-Click Setup of Android System Container

  • Customizable Android version
  • Automatically creates a validated web website
  • Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.
  • No need to worry about host machine supporting nested virtualization
  • Supports x86_64 and ARM architectures

Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.

Ubuntu is recommended for hosting, Debian may cause white screen on Android.

Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)

If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.

Setup:

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open YourMachineIPv4+80Port to log in.

If you need to check the generated Android information and web login details, execute cat /root/android_info to retrieve the information.

Default username: onea Default password: oneclick

For remote desktop, click on H264 Converter to initiate the redirection.

Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.

Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test

Deletion:

  • Delete the container
  • Delete the corresponding container image
  • Delete the configuration file
shell
docker rm -f android
+import{_ as e,v as s,b as o,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1719133454000}'),a={name:"en/guide/docker/docker_custom.md"},t=n(`

Script for One-Click Installation of Certain Containers using Docker

Each container has specific configuration requirements; please refer to them individually.

If the configured memory is not enough, then it's okay to make up for it with the virtual memory here.

Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them

One-Click Setup of Android System Container

  • Customizable Android version
  • Automatically creates a validated web website
  • Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.
  • No need to worry about host machine supporting nested virtualization
  • Supports x86_64 and ARM architectures

Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.

Ubuntu is recommended for hosting, Debian may cause white screen on Android.

Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)

If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.

Setup:

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open YourMachineIPv4+80Port to log in.

If you need to check the generated Android information and web login details, execute cat /root/android_info to retrieve the information.

Default username: onea Default password: oneclick

For remote desktop, click on H264 Converter to initiate the redirection.

Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.

Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test

Deletion:

  • Delete the container
  • Delete the corresponding container image
  • Delete the configuration file
shell
docker rm -f android
 docker rmi $(docker images | grep "redroid" | awk '{print $3}')
 rm -rf /etc/nginx/sites-enabled/reverse-proxy
 rm -rf /etc/nginx/sites-available/reverse-proxy
diff --git a/assets/en_guide_docker_docker_custom.md.771bcdf0.lean.js b/assets/en_guide_docker_docker_custom.md.4545c0e8.lean.js
similarity index 99%
rename from assets/en_guide_docker_docker_custom.md.771bcdf0.lean.js
rename to assets/en_guide_docker_docker_custom.md.4545c0e8.lean.js
index d375f3877..8f4ebc7c4 100644
--- a/assets/en_guide_docker_docker_custom.md.771bcdf0.lean.js
+++ b/assets/en_guide_docker_docker_custom.md.4545c0e8.lean.js
@@ -1,4 +1,4 @@
-import{_ as e,v as s,b as o,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1719133423000}'),a={name:"en/guide/docker/docker_custom.md"},t=n(`

Script for One-Click Installation of Certain Containers using Docker

Each container has specific configuration requirements; please refer to them individually.

If the configured memory is not enough, then it's okay to make up for it with the virtual memory here.

Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them

One-Click Setup of Android System Container

  • Customizable Android version
  • Automatically creates a validated web website
  • Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.
  • No need to worry about host machine supporting nested virtualization
  • Supports x86_64 and ARM architectures

Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.

Ubuntu is recommended for hosting, Debian may cause white screen on Android.

Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)

If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.

Setup:

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open YourMachineIPv4+80Port to log in.

If you need to check the generated Android information and web login details, execute cat /root/android_info to retrieve the information.

Default username: onea Default password: oneclick

For remote desktop, click on H264 Converter to initiate the redirection.

Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.

Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test

Deletion:

  • Delete the container
  • Delete the corresponding container image
  • Delete the configuration file
shell
docker rm -f android
+import{_ as e,v as s,b as o,R as n}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Script for One-Click Installation of Certain Containers using Docker","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_custom.md","filePath":"en/guide/docker/docker_custom.md","lastUpdated":1719133454000}'),a={name:"en/guide/docker/docker_custom.md"},t=n(`

Script for One-Click Installation of Certain Containers using Docker

Each container has specific configuration requirements; please refer to them individually.

If the configured memory is not enough, then it's okay to make up for it with the virtual memory here.

Note that the following scripts must be pre-installed using the environment installation scripts in this set of tutorials before using them

One-Click Setup of Android System Container

  • Customizable Android version
  • Automatically creates a validated web website
  • Automatically installs Nginx and configures reverse proxy. Option to bind a domain is available. Default is port 80 if no domain binding is chosen.
  • No need to worry about host machine supporting nested virtualization
  • Supports x86_64 and ARM architectures

Host machine should have a minimum configuration of 1 core, 2GB RAM, and 15GB storage, else starting the setup might lead to host machine freezing.

Ubuntu is recommended for hosting, Debian may cause white screen on Android.

Newer Android versions occupy more resources. The above configuration requirements are for the minimum version of Android. (Personally tested with the tag "12.0.0-latest", higher versions resulted in a blank screen. Test which version works for you.)

If, after 5 minutes after opening, the login verification of the browser page still keeps failing, then please check the logs of the Android container, it is probable that the Android container has crashed, and it is recommended to replace the container with a lower version of the Android system for installation.

Setup:

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

After executing the command, follow the prompts to input the required information. Make sure to choose the version by entering the corresponding number index. Once the installation is complete, open YourMachineIPv4+80Port to log in.

If you need to check the generated Android information and web login details, execute cat /root/android_info to retrieve the information.

Default username: onea Default password: oneclick

For remote desktop, click on H264 Converter to initiate the redirection.

Please note that currently only one Android container can be generated. Do not generate duplicates. If you need to replace the version, please execute the subsequent commands after deletion.

Temporarily only support the opening has been used, can not restart the server, reboot may not be able to restart after the mapping success, self-test

Deletion:

  • Delete the container
  • Delete the corresponding container image
  • Delete the configuration file
shell
docker rm -f android
 docker rmi $(docker images | grep "redroid" | awk '{print $3}')
 rm -rf /etc/nginx/sites-enabled/reverse-proxy
 rm -rf /etc/nginx/sites-available/reverse-proxy
diff --git a/assets/en_guide_docker_docker_install.md.8be2e0bc.js b/assets/en_guide_docker_docker_install.md.ebf201c6.js
similarity index 98%
rename from assets/en_guide_docker_docker_install.md.8be2e0bc.js
rename to assets/en_guide_docker_docker_install.md.ebf201c6.js
index d009ebb6a..cc212296f 100644
--- a/assets/en_guide_docker_docker_install.md.8be2e0bc.js
+++ b/assets/en_guide_docker_docker_install.md.ebf201c6.js
@@ -1 +1 @@
-import{_ as s,v as a,b as e,R as o}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_install.md","filePath":"en/guide/docker/docker_install.md","lastUpdated":1719133423000}'),n={name:"en/guide/docker/docker_install.md"},t=o('

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

',16),l=[t];function p(r,c,i,d,h,u){return a(),e("div",null,l)}const y=s(n,[["render",p]]);export{C as __pageData,y as default}; +import{_ as s,v as a,b as e,R as o}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_install.md","filePath":"en/guide/docker/docker_install.md","lastUpdated":1719133454000}'),n={name:"en/guide/docker/docker_install.md"},t=o('

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

',16),l=[t];function p(r,c,i,d,h,u){return a(),e("div",null,l)}const y=s(n,[["render",p]]);export{C as __pageData,y as default}; diff --git a/assets/en_guide_docker_docker_install.md.8be2e0bc.lean.js b/assets/en_guide_docker_docker_install.md.ebf201c6.lean.js similarity index 98% rename from assets/en_guide_docker_docker_install.md.8be2e0bc.lean.js rename to assets/en_guide_docker_docker_install.md.ebf201c6.lean.js index d009ebb6a..cc212296f 100644 --- a/assets/en_guide_docker_docker_install.md.8be2e0bc.lean.js +++ b/assets/en_guide_docker_docker_install.md.ebf201c6.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as e,R as o}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_install.md","filePath":"en/guide/docker/docker_install.md","lastUpdated":1719133423000}'),n={name:"en/guide/docker/docker_install.md"},t=o('

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

',16),l=[t];function p(r,c,i,d,h,u){return a(),e("div",null,l)}const y=s(n,[["render",p]]);export{C as __pageData,y as default}; +import{_ as s,v as a,b as e,R as o}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_install.md","filePath":"en/guide/docker/docker_install.md","lastUpdated":1719133454000}'),n={name:"en/guide/docker/docker_install.md"},t=o('

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

',16),l=[t];function p(r,c,i,d,h,u){return a(),e("div",null,l)}const y=s(n,[["render",p]]);export{C as __pageData,y as default}; diff --git a/assets/en_guide_docker_docker_precheck.md.19dbb70c.js b/assets/en_guide_docker_docker_precheck.md.f154cf81.js similarity index 98% rename from assets/en_guide_docker_docker_precheck.md.19dbb70c.js rename to assets/en_guide_docker_docker_precheck.md.f154cf81.js index 2fd3093a0..e27259ab6 100644 --- a/assets/en_guide_docker_docker_precheck.md.19dbb70c.js +++ b/assets/en_guide_docker_docker_precheck.md.f154cf81.js @@ -1 +1 @@ -import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1719133423000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default}; +import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1719133454000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default}; diff --git a/assets/en_guide_docker_docker_precheck.md.19dbb70c.lean.js b/assets/en_guide_docker_docker_precheck.md.f154cf81.lean.js similarity index 98% rename from assets/en_guide_docker_docker_precheck.md.19dbb70c.lean.js rename to assets/en_guide_docker_docker_precheck.md.f154cf81.lean.js index 2fd3093a0..e27259ab6 100644 --- a/assets/en_guide_docker_docker_precheck.md.19dbb70c.lean.js +++ b/assets/en_guide_docker_docker_precheck.md.f154cf81.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1719133423000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default}; +import{_ as e,v as t,b as o,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Introduction","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_precheck.md","filePath":"en/guide/docker/docker_precheck.md","lastUpdated":1719133454000}'),n={name:"en/guide/docker/docker_precheck.md"},s=a('

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

',16),r=[s];function i(c,d,h,u,l,p){return t(),o("div",null,r)}const k=e(n,[["render",i]]);export{m as __pageData,k as default}; diff --git a/assets/en_guide_docker_docker_qa.md.1b175edd.js b/assets/en_guide_docker_docker_qa.md.975af133.js similarity index 98% rename from assets/en_guide_docker_docker_qa.md.1b175edd.js rename to assets/en_guide_docker_docker_qa.md.975af133.js index 468e24761..c9b142b5f 100644 --- a/assets/en_guide_docker_docker_qa.md.1b175edd.js +++ b/assets/en_guide_docker_docker_qa.md.975af133.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1719133423000}'),o={name:"en/guide/docker/docker_qa.md"},l=n('

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default}; +import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1719133454000}'),o={name:"en/guide/docker/docker_qa.md"},l=n('

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default}; diff --git a/assets/en_guide_docker_docker_qa.md.1b175edd.lean.js b/assets/en_guide_docker_docker_qa.md.975af133.lean.js similarity index 98% rename from assets/en_guide_docker_docker_qa.md.1b175edd.lean.js rename to assets/en_guide_docker_docker_qa.md.975af133.lean.js index 468e24761..c9b142b5f 100644 --- a/assets/en_guide_docker_docker_qa.md.1b175edd.lean.js +++ b/assets/en_guide_docker_docker_qa.md.975af133.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1719133423000}'),o={name:"en/guide/docker/docker_qa.md"},l=n('

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default}; +import{_ as e,v as a,b as s,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/docker/docker_qa.md","filePath":"en/guide/docker/docker_qa.md","lastUpdated":1719133454000}'),o={name:"en/guide/docker/docker_qa.md"},l=n('

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
',22),t=[l];function c(p,i,r,d,m,g){return a(),s("div",null,t)}const C=e(o,[["render",c]]);export{h as __pageData,C as default}; diff --git a/assets/en_guide_docker_docker_thanks.md.60211572.js b/assets/en_guide_docker_docker_thanks.md.58d7c8bd.js similarity index 98% rename from assets/en_guide_docker_docker_thanks.md.60211572.js rename to assets/en_guide_docker_docker_thanks.md.58d7c8bd.js index 40a9e89f7..ac627ead7 100644 --- a/assets/en_guide_docker_docker_thanks.md.60211572.js +++ b/assets/en_guide_docker_docker_thanks.md.58d7c8bd.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1719133423000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('

Acknowledgements

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda and @CoiaPrant for providing docker guidance.

',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1719133454000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('

Acknowledgements

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda and @CoiaPrant for providing docker guidance.

',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default}; diff --git a/assets/en_guide_docker_docker_thanks.md.60211572.lean.js b/assets/en_guide_docker_docker_thanks.md.58d7c8bd.lean.js similarity index 98% rename from assets/en_guide_docker_docker_thanks.md.60211572.lean.js rename to assets/en_guide_docker_docker_thanks.md.58d7c8bd.lean.js index 40a9e89f7..ac627ead7 100644 --- a/assets/en_guide_docker_docker_thanks.md.60211572.lean.js +++ b/assets/en_guide_docker_docker_thanks.md.58d7c8bd.lean.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1719133423000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('

Acknowledgements

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda and @CoiaPrant for providing docker guidance.

',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/docker/docker_thanks.md","filePath":"en/guide/docker/docker_thanks.md","lastUpdated":1719133454000}'),o={name:"en/guide/docker/docker_thanks.md"},n=a('

Acknowledgements

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda and @CoiaPrant for providing docker guidance.

',20),c=[n];function h(p,i,s,l,d,g){return e(),t("div",null,c)}const b=r(o,[["render",h]]);export{m as __pageData,b as default}; diff --git a/assets/en_guide_incus_incus_custom.md.39901856.js b/assets/en_guide_incus_incus_custom.md.076d7ef6.js similarity index 99% rename from assets/en_guide_incus_incus_custom.md.39901856.js rename to assets/en_guide_incus_incus_custom.md.076d7ef6.js index 75b5cbd00..15be4dc33 100644 --- a/assets/en_guide_incus_incus_custom.md.39901856.js +++ b/assets/en_guide_incus_incus_custom.md.076d7ef6.js @@ -1,4 +1,4 @@ -import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_custom.md","filePath":"en/guide/incus/incus_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/incus/incus_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipipcustom

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
+import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_custom.md","filePath":"en/guide/incus/incus_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/incus/incus_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipipcustom

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/en_guide_incus_incus_custom.md.39901856.lean.js b/assets/en_guide_incus_incus_custom.md.076d7ef6.lean.js
similarity index 99%
rename from assets/en_guide_incus_incus_custom.md.39901856.lean.js
rename to assets/en_guide_incus_incus_custom.md.076d7ef6.lean.js
index 75b5cbd00..15be4dc33 100644
--- a/assets/en_guide_incus_incus_custom.md.39901856.lean.js
+++ b/assets/en_guide_incus_incus_custom.md.076d7ef6.lean.js
@@ -1,4 +1,4 @@
-import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_custom.md","filePath":"en/guide/incus/incus_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/incus/incus_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipipcustom

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
+import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_custom.md","filePath":"en/guide/incus/incus_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/incus/incus_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipipcustom

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/en_guide_incus_incus_extra_config.md.1e914bd4.js b/assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.js
similarity index 99%
rename from assets/en_guide_incus_incus_extra_config.md.1e914bd4.js
rename to assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.js
index d8792001a..2f553b6d7 100644
--- a/assets/en_guide_incus_incus_extra_config.md.1e914bd4.js
+++ b/assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_extra_config.md","filePath":"en/guide/incus/incus_extra_config.md","lastUpdated":1719133423000}'),e={name:"en/guide/incus/incus_extra_config.md"},l=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for incus containers created with incus.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_extra_config.md","filePath":"en/guide/incus/incus_extra_config.md","lastUpdated":1719133454000}'),e={name:"en/guide/incus/incus_extra_config.md"},l=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for incus containers created with incus.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_guide_incus_incus_extra_config.md.1e914bd4.lean.js b/assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.lean.js
similarity index 99%
rename from assets/en_guide_incus_incus_extra_config.md.1e914bd4.lean.js
rename to assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.lean.js
index d8792001a..2f553b6d7 100644
--- a/assets/en_guide_incus_incus_extra_config.md.1e914bd4.lean.js
+++ b/assets/en_guide_incus_incus_extra_config.md.3fb8c6f0.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_extra_config.md","filePath":"en/guide/incus/incus_extra_config.md","lastUpdated":1719133423000}'),e={name:"en/guide/incus/incus_extra_config.md"},l=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for incus containers created with incus.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_extra_config.md","filePath":"en/guide/incus/incus_extra_config.md","lastUpdated":1719133454000}'),e={name:"en/guide/incus/incus_extra_config.md"},l=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for incus containers created with incus.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_guide_incus_incus_install.md.9ebcab51.js b/assets/en_guide_incus_incus_install.md.862fc918.js
similarity index 99%
rename from assets/en_guide_incus_incus_install.md.9ebcab51.js
rename to assets/en_guide_incus_incus_install.md.862fc918.js
index 48db7db08..0cf40e023 100644
--- a/assets/en_guide_incus_incus_install.md.9ebcab51.js
+++ b/assets/en_guide_incus_incus_install.md.862fc918.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"incus Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_install.md","filePath":"en/guide/incus/incus_install.md","lastUpdated":1719133423000}'),t={name:"en/guide/incus/incus_install.md"},o=n(`

incus Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 20+ (recommended), Debian 11+
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

TIP

If the implementation of the final stuck more than 60 seconds without log display, it is recommended to force a restart of the server through your server's control panel, may be the last step of the installation is stuck in the restart of the network that step!

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"incus Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_install.md","filePath":"en/guide/incus/incus_install.md","lastUpdated":1719133454000}'),t={name:"en/guide/incus/incus_install.md"},o=n(`

incus Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 20+ (recommended), Debian 11+
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

TIP

If the implementation of the final stuck more than 60 seconds without log display, it is recommended to force a restart of the server through your server's control panel, may be the last step of the installation is stuck in the restart of the network that step!

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

Enabling Virtual Memory SWAP

The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.

Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

Installing incus

Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.

sudo -i
 mkdir -p /etc/apt/keyrings/
diff --git a/assets/en_guide_incus_incus_install.md.9ebcab51.lean.js b/assets/en_guide_incus_incus_install.md.862fc918.lean.js
similarity index 99%
rename from assets/en_guide_incus_incus_install.md.9ebcab51.lean.js
rename to assets/en_guide_incus_incus_install.md.862fc918.lean.js
index 48db7db08..0cf40e023 100644
--- a/assets/en_guide_incus_incus_install.md.9ebcab51.lean.js
+++ b/assets/en_guide_incus_incus_install.md.862fc918.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"incus Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_install.md","filePath":"en/guide/incus/incus_install.md","lastUpdated":1719133423000}'),t={name:"en/guide/incus/incus_install.md"},o=n(`

incus Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 20+ (recommended), Debian 11+
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

TIP

If the implementation of the final stuck more than 60 seconds without log display, it is recommended to force a restart of the server through your server's control panel, may be the last step of the installation is stuck in the restart of the network that step!

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"incus Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_install.md","filePath":"en/guide/incus/incus_install.md","lastUpdated":1719133454000}'),t={name:"en/guide/incus/incus_install.md"},o=n(`

incus Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 20+ (recommended), Debian 11+
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

TIP

If the implementation of the final stuck more than 60 seconds without log display, it is recommended to force a restart of the server through your server's control panel, may be the last step of the installation is stuck in the restart of the network that step!

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

Enabling Virtual Memory SWAP

The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.

Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

Installing incus

Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.

sudo -i
 mkdir -p /etc/apt/keyrings/
diff --git a/assets/en_guide_incus_incus_lxc.md.931f8d04.js b/assets/en_guide_incus_incus_lxc.md.d5b89f52.js
similarity index 99%
rename from assets/en_guide_incus_incus_lxc.md.931f8d04.js
rename to assets/en_guide_incus_incus_lxc.md.d5b89f52.js
index d7d02e50a..58a57f721 100644
--- a/assets/en_guide_incus_incus_lxc.md.931f8d04.js
+++ b/assets/en_guide_incus_incus_lxc.md.d5b89f52.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_lxc.md","filePath":"en/guide/incus/incus_lxc.md","lastUpdated":1719133423000}'),o={name:"en/guide/incus/incus_lxc.md"},l=e(`

incus virtualization

Images available for creating LXC Containers

A portion of the available system parameters are shown here for your reference:

  • debian10, debian11, debian12
  • ubuntu18, ubuntu20, ubuntu22
  • centos8, centos9 (actually opened out of the Stream version)
  • alpine3.15, alpine3.16, alpine3.17, alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (CGroupV1 needs to be enabled in GRUB or it won't start.)
  • kali,archlinux
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.
  • The images currently in use are triple filtered and prioritized: self-hostedofficial-hostedtuna-images-hosted
  • A complete list of supported systems for self-compiling images: https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

The version number has ended the long-term maintenance of the general no longer have an official mirror, temporarily did not find the archive address of the historical mirror, if you find welcome to leave a message I will add support!

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Download script

Downloading the boot script is NOT REQUIRED, if you have used the command to install incus with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian11)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support custom server system, do not fill in the leave blank default use debian11, pay attention to the incoming parameters for the system name + version number

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
incus stop test
+import{_ as s,v as a,b as n,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_lxc.md","filePath":"en/guide/incus/incus_lxc.md","lastUpdated":1719133454000}'),o={name:"en/guide/incus/incus_lxc.md"},l=e(`

incus virtualization

Images available for creating LXC Containers

A portion of the available system parameters are shown here for your reference:

  • debian10, debian11, debian12
  • ubuntu18, ubuntu20, ubuntu22
  • centos8, centos9 (actually opened out of the Stream version)
  • alpine3.15, alpine3.16, alpine3.17, alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (CGroupV1 needs to be enabled in GRUB or it won't start.)
  • kali,archlinux
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.
  • The images currently in use are triple filtered and prioritized: self-hostedofficial-hostedtuna-images-hosted
  • A complete list of supported systems for self-compiling images: https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

The version number has ended the long-term maintenance of the general no longer have an official mirror, temporarily did not find the archive address of the historical mirror, if you find welcome to leave a message I will add support!

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Download script

Downloading the boot script is NOT REQUIRED, if you have used the command to install incus with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian11)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support custom server system, do not fill in the leave blank default use debian11, pay attention to the incoming parameters for the system name + version number

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
incus stop test
 incus delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/en_guide_incus_incus_lxc.md.931f8d04.lean.js b/assets/en_guide_incus_incus_lxc.md.d5b89f52.lean.js
similarity index 99%
rename from assets/en_guide_incus_incus_lxc.md.931f8d04.lean.js
rename to assets/en_guide_incus_incus_lxc.md.d5b89f52.lean.js
index d7d02e50a..58a57f721 100644
--- a/assets/en_guide_incus_incus_lxc.md.931f8d04.lean.js
+++ b/assets/en_guide_incus_incus_lxc.md.d5b89f52.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_lxc.md","filePath":"en/guide/incus/incus_lxc.md","lastUpdated":1719133423000}'),o={name:"en/guide/incus/incus_lxc.md"},l=e(`

incus virtualization

Images available for creating LXC Containers

A portion of the available system parameters are shown here for your reference:

  • debian10, debian11, debian12
  • ubuntu18, ubuntu20, ubuntu22
  • centos8, centos9 (actually opened out of the Stream version)
  • alpine3.15, alpine3.16, alpine3.17, alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (CGroupV1 needs to be enabled in GRUB or it won't start.)
  • kali,archlinux
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.
  • The images currently in use are triple filtered and prioritized: self-hostedofficial-hostedtuna-images-hosted
  • A complete list of supported systems for self-compiling images: https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

The version number has ended the long-term maintenance of the general no longer have an official mirror, temporarily did not find the archive address of the historical mirror, if you find welcome to leave a message I will add support!

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Download script

Downloading the boot script is NOT REQUIRED, if you have used the command to install incus with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian11)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support custom server system, do not fill in the leave blank default use debian11, pay attention to the incoming parameters for the system name + version number

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
incus stop test
+import{_ as s,v as a,b as n,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_lxc.md","filePath":"en/guide/incus/incus_lxc.md","lastUpdated":1719133454000}'),o={name:"en/guide/incus/incus_lxc.md"},l=e(`

incus virtualization

Images available for creating LXC Containers

A portion of the available system parameters are shown here for your reference:

  • debian10, debian11, debian12
  • ubuntu18, ubuntu20, ubuntu22
  • centos8, centos9 (actually opened out of the Stream version)
  • alpine3.15, alpine3.16, alpine3.17, alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (CGroupV1 needs to be enabled in GRUB or it won't start.)
  • kali,archlinux
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.
  • The images currently in use are triple filtered and prioritized: self-hostedofficial-hostedtuna-images-hosted
  • A complete list of supported systems for self-compiling images: https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

The version number has ended the long-term maintenance of the general no longer have an official mirror, temporarily did not find the archive address of the historical mirror, if you find welcome to leave a message I will add support!

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Download script

Downloading the boot script is NOT REQUIRED, if you have used the command to install incus with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian11)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support custom server system, do not fill in the leave blank default use debian11, pay attention to the incoming parameters for the system name + version number

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
incus stop test
 incus delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/en_guide_incus_incus_precheck.md.e6803761.js b/assets/en_guide_incus_incus_precheck.md.58abf3c3.js
similarity index 98%
rename from assets/en_guide_incus_incus_precheck.md.e6803761.js
rename to assets/en_guide_incus_incus_precheck.md.58abf3c3.js
index 173e96ab0..772bc123a 100644
--- a/assets/en_guide_incus_incus_precheck.md.e6803761.js
+++ b/assets/en_guide_incus_incus_precheck.md.58abf3c3.js
@@ -1 +1 @@
-import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_precheck.md","filePath":"en/guide/incus/incus_precheck.md","lastUpdated":1719133423000}'),r={name:"en/guide/incus/incus_precheck.md"},a=o('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',15),s=[a];function i(c,d,h,l,u,p){return t(),n("div",null,s)}const b=e(r,[["render",i]]);export{f as __pageData,b as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_precheck.md","filePath":"en/guide/incus/incus_precheck.md","lastUpdated":1719133454000}'),r={name:"en/guide/incus/incus_precheck.md"},a=o('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',15),s=[a];function i(c,d,h,l,u,p){return t(),n("div",null,s)}const b=e(r,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_incus_incus_precheck.md.e6803761.lean.js b/assets/en_guide_incus_incus_precheck.md.58abf3c3.lean.js similarity index 98% rename from assets/en_guide_incus_incus_precheck.md.e6803761.lean.js rename to assets/en_guide_incus_incus_precheck.md.58abf3c3.lean.js index 173e96ab0..772bc123a 100644 --- a/assets/en_guide_incus_incus_precheck.md.e6803761.lean.js +++ b/assets/en_guide_incus_incus_precheck.md.58abf3c3.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_precheck.md","filePath":"en/guide/incus/incus_precheck.md","lastUpdated":1719133423000}'),r={name:"en/guide/incus/incus_precheck.md"},a=o('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',15),s=[a];function i(c,d,h,l,u,p){return t(),n("div",null,s)}const b=e(r,[["render",i]]);export{f as __pageData,b as default}; +import{_ as e,v as t,b as n,R as o}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_precheck.md","filePath":"en/guide/incus/incus_precheck.md","lastUpdated":1719133454000}'),r={name:"en/guide/incus/incus_precheck.md"},a=o('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',15),s=[a];function i(c,d,h,l,u,p){return t(),n("div",null,s)}const b=e(r,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_incus_incus_qa.md.0d6446a4.js b/assets/en_guide_incus_incus_qa.md.fb802786.js similarity index 97% rename from assets/en_guide_incus_incus_qa.md.0d6446a4.js rename to assets/en_guide_incus_incus_qa.md.fb802786.js index af6be3e8b..339968bf7 100644 --- a/assets/en_guide_incus_incus_qa.md.0d6446a4.js +++ b/assets/en_guide_incus_incus_qa.md.fb802786.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1719133423000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default}; +import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1719133454000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default}; diff --git a/assets/en_guide_incus_incus_qa.md.0d6446a4.lean.js b/assets/en_guide_incus_incus_qa.md.fb802786.lean.js similarity index 97% rename from assets/en_guide_incus_incus_qa.md.0d6446a4.lean.js rename to assets/en_guide_incus_incus_qa.md.fb802786.lean.js index af6be3e8b..339968bf7 100644 --- a/assets/en_guide_incus_incus_qa.md.0d6446a4.lean.js +++ b/assets/en_guide_incus_incus_qa.md.fb802786.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1719133423000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default}; +import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/incus/incus_qa.md","filePath":"en/guide/incus/incus_qa.md","lastUpdated":1719133454000}'),o={name:"en/guide/incus/incus_qa.md"},n=s('

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',13),r=[n];function p(i,d,l,c,h,u){return t(),a("div",null,r)}const _=e(o,[["render",p]]);export{m as __pageData,_ as default}; diff --git a/assets/en_guide_incus_incus_thanks.md.e4f4f8a2.js b/assets/en_guide_incus_incus_thanks.md.0f9a6707.js similarity index 97% rename from assets/en_guide_incus_incus_thanks.md.e4f4f8a2.js rename to assets/en_guide_incus_incus_thanks.md.0f9a6707.js index e2a3764e2..47242e085 100644 --- a/assets/en_guide_incus_incus_thanks.md.e4f4f8a2.js +++ b/assets/en_guide_incus_incus_thanks.md.0f9a6707.js @@ -1 +1 @@ -import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1719133423000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('

Acknowledgements

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default}; +import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1719133454000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('

Acknowledgements

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_incus_incus_thanks.md.e4f4f8a2.lean.js b/assets/en_guide_incus_incus_thanks.md.0f9a6707.lean.js similarity index 97% rename from assets/en_guide_incus_incus_thanks.md.e4f4f8a2.lean.js rename to assets/en_guide_incus_incus_thanks.md.0f9a6707.lean.js index e2a3764e2..47242e085 100644 --- a/assets/en_guide_incus_incus_thanks.md.e4f4f8a2.lean.js +++ b/assets/en_guide_incus_incus_thanks.md.0f9a6707.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1719133423000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('

Acknowledgements

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default}; +import{_ as t,v as e,b as r,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/incus/incus_thanks.md","filePath":"en/guide/incus/incus_thanks.md","lastUpdated":1719133454000}'),s={name:"en/guide/incus/incus_thanks.md"},a=n('

Acknowledgements

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),o=[a];function i(c,p,h,l,u,d){return e(),r("div",null,o)}const b=t(s,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_lxd_lxd_custom.md.33570adf.js b/assets/en_guide_lxd_lxd_custom.md.4e1e128e.js similarity index 99% rename from assets/en_guide_lxd_lxd_custom.md.33570adf.js rename to assets/en_guide_lxd_lxd_custom.md.4e1e128e.js index 255b1f3d9..1fa322998 100644 --- a/assets/en_guide_lxd_lxd_custom.md.33570adf.js +++ b/assets/en_guide_lxd_lxd_custom.md.4e1e128e.js @@ -1,4 +1,4 @@ -import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_custom.md","filePath":"en/guide/lxd/lxd_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
+import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_custom.md","filePath":"en/guide/lxd/lxd_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/en_guide_lxd_lxd_custom.md.33570adf.lean.js b/assets/en_guide_lxd_lxd_custom.md.4e1e128e.lean.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_custom.md.33570adf.lean.js
rename to assets/en_guide_lxd_lxd_custom.md.4e1e128e.lean.js
index 255b1f3d9..1fa322998 100644
--- a/assets/en_guide_lxd_lxd_custom.md.33570adf.lean.js
+++ b/assets/en_guide_lxd_lxd_custom.md.4e1e128e.lean.js
@@ -1,4 +1,4 @@
-import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_custom.md","filePath":"en/guide/lxd/lxd_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
+import{_ as e,v as t,b as a,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"Attach free IPV6 address segments to host machines","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_custom.md","filePath":"en/guide/lxd/lxd_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_custom.md"},o=s(`

Attach free IPV6 address segments to host machines

Some machines don't have an IPV6 /64 subnet on the machine itself, here is a method given to attach an IPV6 subnet for free.

Here is a solution using the 6in4 method for a host machine that doesn't have an IPV6 address on its own.

TIP

The operations on this page must be performed on the original system, and ensure that no other scripts from this project are installed(Except for PVE, which needs to be installed first), as this may lead to environment conflicts.

Here are the platforms that are currently running in 2023 that offer IPV6 subnets for free.

Supported PlatformsCorresponding Required Installation PackagesProtocolsNumber of Channels/Subnets
tunnelbroker.netifupdown OR ifupdown2v4tunnel OR sit3✖/64 或 5✖/64
tunnelbroker.chifupdown OR ifupdown2v4tunnel OR sit3✖/64
ip4market.ruifupdown OR ifupdown2v4tunnel OR sit1✖/64
netassist.uaifupdown OR ifupdown2v4tunnel OR sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

The free platform only solves the problem that IPV6 is not available, it does not provide premium IPV6 bandwidth.

If you need high quality bandwidth, please build your own tunnel. When both ifupdown and ifupdown2 are available, try ifupdown first to see if it can be installed successfully, otherwise install ifupdown2.

After the installation is complete, select which package is installed behind to convert the format.

Initial environment modifications

Execute

touch /etc/cloud/cloud-init.disabled

Turn off the automated overwrite of cloud-init first, and then to see what the local machine is using to manage the network, run

systemctl is-active systemd-networkd

and

systemctl is-active networking

See which case this falls into, if it's the former active and the latter inactive, you need to reinstall/DD a system that isn't configured this way, or switch the local machine to use ifupdown/ifupdown2 to manage network execution

# Judge for yourself whether you need to disable the original network management or not
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.js b/assets/en_guide_lxd_lxd_extra_config.md.45b560fb.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.js
rename to assets/en_guide_lxd_lxd_extra_config.md.45b560fb.js
index 946503b77..646d1d231 100644
--- a/assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.js
+++ b/assets/en_guide_lxd_lxd_extra_config.md.45b560fb.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_extra_config.md","filePath":"en/guide/lxd/lxd_extra_config.md","lastUpdated":1719133423000}'),l={name:"en/guide/lxd/lxd_extra_config.md"},e=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for LXC containers created with LXD.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_extra_config.md","filePath":"en/guide/lxd/lxd_extra_config.md","lastUpdated":1719133454000}'),l={name:"en/guide/lxd/lxd_extra_config.md"},e=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for LXC containers created with LXD.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.lean.js b/assets/en_guide_lxd_lxd_extra_config.md.45b560fb.lean.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.lean.js
rename to assets/en_guide_lxd_lxd_extra_config.md.45b560fb.lean.js
index 946503b77..646d1d231 100644
--- a/assets/en_guide_lxd_lxd_extra_config.md.4b827bc6.lean.js
+++ b/assets/en_guide_lxd_lxd_extra_config.md.45b560fb.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_extra_config.md","filePath":"en/guide/lxd/lxd_extra_config.md","lastUpdated":1719133423000}'),l={name:"en/guide/lxd/lxd_extra_config.md"},e=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for LXC containers created with LXD.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"Custom Configuration","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_extra_config.md","filePath":"en/guide/lxd/lxd_extra_config.md","lastUpdated":1719133454000}'),l={name:"en/guide/lxd/lxd_extra_config.md"},e=o(`

Custom Configuration

TIP

The following configurations may increase the load on the server. Only install them if necessary.

TIP

If you are using the server for personal use, you can ignore the installation of some abuse prevention scripts.

Automatic IPV6 Address Configuration

  • (Optional, not required if not using)
  • This script is only suitable for servers that have an IPV6 subnet with a prefix, and the server has bound the first IP of the subnet as its IPV6 address or IPV6 gateway.
  • Automatically configures IPV6 addresses for LXC containers created with LXD.
  • Integrated into buildone.sh and can be controlled by variables without needing to be downloaded beforehand. You don't need to manually use this script; when using buildone.sh, configure with variable Y to enable it.

Download Script

Command:

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

Automatically configure IPV6 mapped addresses for containers

bash
bash build_ipv6_network.sh Container_Name(change_me)

A message is printed when the mapping is complete (Default mapping without iptables)

Example (automatically configure the test container with an IPV6 address, a test_v6 file is written when the configuration is complete)

bash
bash build_ipv6_network.sh test

PS: Add ipv6 processing can choose whether to use ip6tables for mapping, the default is not to use ip6tables for mapping but to add new network devices for mapping.

Use ip6tables for mapping

bash
bash build_ipv6_network.sh Container_name Y

If ip6tables is used for mapping, remove all IPV6 mapped rules available:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/en_guide_lxd_lxd_install.md.60c0592b.js b/assets/en_guide_lxd_lxd_install.md.c99399c6.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_install.md.60c0592b.js
rename to assets/en_guide_lxd_lxd_install.md.c99399c6.js
index 8f827906d..a1ae9e5ac 100644
--- a/assets/en_guide_lxd_lxd_install.md.60c0592b.js
+++ b/assets/en_guide_lxd_lxd_install.md.c99399c6.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_install.md","filePath":"en/guide/lxd/lxd_install.md","lastUpdated":1719133423000}'),o={name:"en/guide/lxd/lxd_install.md"},l=n(`

LXD Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 18+ (recommended), Debian 8+ (x86_64 architecture only)
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_install.md","filePath":"en/guide/lxd/lxd_install.md","lastUpdated":1719133454000}'),o={name:"en/guide/lxd/lxd_install.md"},l=n(`

LXD Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 18+ (recommended), Debian 8+ (x86_64 architecture only)
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

Enabling Virtual Memory SWAP

The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.

Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

Installing LXD

Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.

apt install snapd -y
 snap install lxd
diff --git a/assets/en_guide_lxd_lxd_install.md.60c0592b.lean.js b/assets/en_guide_lxd_lxd_install.md.c99399c6.lean.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_install.md.60c0592b.lean.js
rename to assets/en_guide_lxd_lxd_install.md.c99399c6.lean.js
index 8f827906d..a1ae9e5ac 100644
--- a/assets/en_guide_lxd_lxd_install.md.60c0592b.lean.js
+++ b/assets/en_guide_lxd_lxd_install.md.c99399c6.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_install.md","filePath":"en/guide/lxd/lxd_install.md","lastUpdated":1719133423000}'),o={name:"en/guide/lxd/lxd_install.md"},l=n(`

LXD Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 18+ (recommended), Debian 8+ (x86_64 architecture only)
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const C=JSON.parse('{"title":"LXD Installation Guide","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_install.md","filePath":"en/guide/lxd/lxd_install.md","lastUpdated":1719133454000}'),o={name:"en/guide/lxd/lxd_install.md"},l=n(`

LXD Installation Guide

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

One-Click Installation

WARNING

If this is a new server, make sure that both apt update and apt install curl are working properly before executing this script. It is recommended to pre-install btrfs-progs to speed up the subsequent installation process, after installation it is recommended to reboot the system to load the settings, if it is not pre-installed it is no problem, just follow the prompts to execute the script.

TIP

It's recommended to wait for at least 5 minutes after the system boots up before executing the following commands. This is to avoid the script being executed by the default system settings, which could cause issues with apt sources.

  • Prerequisites: Ubuntu 18+ (recommended), Debian 8+ (x86_64 architecture only)
  • The virtual memory here is talking about the size of the SWAP to be opened, and the storage pool is the sum of the sizes of the disks occupied by all your servers to be opened
  • The server needs to be restarted after the environment installation process to load some default configurations
  • By default, lxd's lxcfs-related configuration is enabled, so that in-container querying of container information changes to information about the container itself rather than the host

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

Example of initialization configuration:

If there is 18GB of unused disk space on the system disk, after deducting the space already occupied, and you want to allocate 2GB of virtual memory (2048MB of SWAP) and a 15GB storage pool, then following the prompts in the command line, enter 2048 and 15.

Manual Installation

Recommended for beginners to avoid potential troubleshooting. However, if you're experienced and comfortable with debugging bugs, you can also use the above one-click installation method for convenience.

Disable Firewall

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

Enabling Virtual Memory SWAP

The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.

Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

Installing LXD

Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.

apt install snapd -y
 snap install lxd
diff --git a/assets/en_guide_lxd_lxd_lxc.md.45359af9.js b/assets/en_guide_lxd_lxd_lxc.md.cf84ec31.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_lxc.md.45359af9.js
rename to assets/en_guide_lxd_lxd_lxc.md.cf84ec31.js
index 5f9ce97a9..62eb01201 100644
--- a/assets/en_guide_lxd_lxd_lxc.md.45359af9.js
+++ b/assets/en_guide_lxd_lxd_lxc.md.cf84ec31.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_lxc.md","filePath":"en/guide/lxd/lxd_lxc.md","lastUpdated":1719133423000}'),e={name:"en/guide/lxd/lxd_lxc.md"},l=o(`

LXC virtualization

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Downloading the boot script is NOT REQUIRED, if you have used the command to install LXD with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian12)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support for customizing the system of the server, do not fill out the default use of debian12 when left blank, note that the incoming parameters for the system name + version number, such as:

  • debian12, debian13
  • ubuntu22, ubuntu24
  • centos8,centos9
  • alpine3.16, alpine3.17, alpine3.18,alpine3.19
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
lxc stop test
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_lxc.md","filePath":"en/guide/lxd/lxd_lxc.md","lastUpdated":1719133454000}'),e={name:"en/guide/lxd/lxd_lxc.md"},l=o(`

LXC virtualization

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Downloading the boot script is NOT REQUIRED, if you have used the command to install LXD with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian12)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support for customizing the system of the server, do not fill out the default use of debian12 when left blank, note that the incoming parameters for the system name + version number, such as:

  • debian12, debian13
  • ubuntu22, ubuntu24
  • centos8,centos9
  • alpine3.16, alpine3.17, alpine3.18,alpine3.19
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
lxc stop test
 lxc delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/en_guide_lxd_lxd_lxc.md.45359af9.lean.js b/assets/en_guide_lxd_lxd_lxc.md.cf84ec31.lean.js
similarity index 99%
rename from assets/en_guide_lxd_lxd_lxc.md.45359af9.lean.js
rename to assets/en_guide_lxd_lxd_lxc.md.cf84ec31.lean.js
index 5f9ce97a9..62eb01201 100644
--- a/assets/en_guide_lxd_lxd_lxc.md.45359af9.lean.js
+++ b/assets/en_guide_lxd_lxd_lxc.md.cf84ec31.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_lxc.md","filePath":"en/guide/lxd/lxd_lxc.md","lastUpdated":1719133423000}'),e={name:"en/guide/lxd/lxd_lxc.md"},l=o(`

LXC virtualization

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Downloading the boot script is NOT REQUIRED, if you have used the command to install LXD with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian12)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support for customizing the system of the server, do not fill out the default use of debian12 when left blank, note that the incoming parameters for the system name + version number, such as:

  • debian12, debian13
  • ubuntu22, ubuntu24
  • centos8,centos9
  • alpine3.16, alpine3.17, alpine3.18,alpine3.19
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
lxc stop test
+import{_ as s,v as a,b as n,R as o}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_lxc.md","filePath":"en/guide/lxd/lxd_lxc.md","lastUpdated":1719133454000}'),e={name:"en/guide/lxd/lxd_lxc.md"},l=o(`

LXC virtualization

Generate only one NAT server

  • Generate only one NAT server, with customizable restrictions on all content.

Downloading the boot script is NOT REQUIRED, if you have used the command to install LXD with one click, the corresponding boot script will be downloaded automatically, so you don't need to download the script again.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

Usage

. /buildone.sh name Cpu_num Memory_size Hard_disk_size SSH_port Extranet_start_port Extranet_stop_port Download_speed Upload_speed Whether_IPV6_is_enabled(Y or N) System(leave blank for debian12)

Memory size is calculated in MB, hard disk size is calculated in GB, download speed upload speed is calculated in Mbit, whether to enable IPV6 does not have to fill in Y or N, no this parameter can also be left blank default does not enable IPV6

If external start port\`\` and external stop port are both set to 0, then we don't do interval port mapping, only the basic SSH port is mapped, note that \`\`\`can't be null, and it needs to be set to 0 if it's not to be mapped.

Support for customizing the system of the server, do not fill out the default use of debian12 when left blank, note that the incoming parameters for the system name + version number, such as:

  • debian12, debian13
  • ubuntu22, ubuntu24
  • centos8,centos9
  • alpine3.16, alpine3.17, alpine3.18,alpine3.19
  • Note that the combination of lowercase letters + numbers or only lowercase letters, try it yourself, if the search is not the system will automatically exit the script
  • The version number can be with English decimal point, in order to adapt to the alpine version number has been supported.
  • If you can't open it, it may be that the hard disk is not big enough or it doesn't fit the host, try it by yourself.

Example

Here is the information about the example chick that is being raised:

AttributeValue
server's Nametest
Username for SSH Loginroot
Password for SSH LoginRandomly generated
Number of CPU Cores1
Memory Size256MB
Disk Size2G
Range of Internal and External Port Mapping20002 to 20025
Upload Bandwidth500Mbit
Download Bandwidth500Mbit
Automatically Set External IPv6 AddressNo
Operating SystemDebian 12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

If you need to see the information, run

shell
cat ct_name_change_me

For example, the information for the query example is

shell
cat test

If you have already generated chicks through the above methods and still need to batch generate chicks, you can use a customized batch generation version of the script, but note that you should first delete the test chicks before batch generating chicks

Delete Test Chick

shell
lxc stop test
 lxc delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/en_guide_lxd_lxd_precheck.md.a1c253bf.js b/assets/en_guide_lxd_lxd_precheck.md.faaec600.js
similarity index 98%
rename from assets/en_guide_lxd_lxd_precheck.md.a1c253bf.js
rename to assets/en_guide_lxd_lxd_precheck.md.faaec600.js
index a36c006c7..9dbb1be0a 100644
--- a/assets/en_guide_lxd_lxd_precheck.md.a1c253bf.js
+++ b/assets/en_guide_lxd_lxd_precheck.md.faaec600.js
@@ -1 +1 @@
-import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1719133423000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default}; +import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1719133454000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_lxd_lxd_precheck.md.a1c253bf.lean.js b/assets/en_guide_lxd_lxd_precheck.md.faaec600.lean.js similarity index 98% rename from assets/en_guide_lxd_lxd_precheck.md.a1c253bf.lean.js rename to assets/en_guide_lxd_lxd_precheck.md.faaec600.lean.js index a36c006c7..9dbb1be0a 100644 --- a/assets/en_guide_lxd_lxd_precheck.md.a1c253bf.lean.js +++ b/assets/en_guide_lxd_lxd_precheck.md.faaec600.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1719133423000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default}; +import{_ as e,v as t,b as o,R as n}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_precheck.md","filePath":"en/guide/lxd/lxd_precheck.md","lastUpdated":1719133454000}'),a={name:"en/guide/lxd/lxd_precheck.md"},r=n('

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',15),s=[r];function i(d,c,l,h,p,u){return t(),o("div",null,s)}const b=e(a,[["render",i]]);export{f as __pageData,b as default}; diff --git a/assets/en_guide_lxd_lxd_qa.md.b147b0a2.js b/assets/en_guide_lxd_lxd_qa.md.3a3db8a0.js similarity index 98% rename from assets/en_guide_lxd_lxd_qa.md.b147b0a2.js rename to assets/en_guide_lxd_lxd_qa.md.3a3db8a0.js index 8dea33875..155eb72e5 100644 --- a/assets/en_guide_lxd_lxd_qa.md.b147b0a2.js +++ b/assets/en_guide_lxd_lxd_qa.md.3a3db8a0.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('

Solve the puzzle

What if the lxc command says it can't be found after LXD is installed?

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc\nexport PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default}; +import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('

Solve the puzzle

What if the lxc command says it can't be found after LXD is installed?

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc\nexport PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default}; diff --git a/assets/en_guide_lxd_lxd_qa.md.b147b0a2.lean.js b/assets/en_guide_lxd_lxd_qa.md.3a3db8a0.lean.js similarity index 98% rename from assets/en_guide_lxd_lxd_qa.md.b147b0a2.lean.js rename to assets/en_guide_lxd_lxd_qa.md.3a3db8a0.lean.js index 8dea33875..155eb72e5 100644 --- a/assets/en_guide_lxd_lxd_qa.md.b147b0a2.lean.js +++ b/assets/en_guide_lxd_lxd_qa.md.3a3db8a0.lean.js @@ -1 +1 @@ -import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('

Solve the puzzle

What if the lxc command says it can't be found after LXD is installed?

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc\nexport PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default}; +import{_ as e,v as a,b as t,R as s}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/lxd/lxd_qa.md","filePath":"en/guide/lxd/lxd_qa.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_qa.md"},o=s('

Solve the puzzle

What if the lxc command says it can't be found after LXD is installed?

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc\nexport PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

',18),r=[o];function p(i,l,d,c,h,u){return a(),t("div",null,r)}const b=e(n,[["render",p]]);export{m as __pageData,b as default}; diff --git a/assets/en_guide_lxd_lxd_thanks.md.2e275bc4.js b/assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.js similarity index 97% rename from assets/en_guide_lxd_lxd_thanks.md.2e275bc4.js rename to assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.js index 0d08d3ed7..2f0aeb60a 100644 --- a/assets/en_guide_lxd_lxd_thanks.md.2e275bc4.js +++ b/assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.js @@ -1 +1 @@ -import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('

Acknowledgements

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

Thank @Ella-Alinda @fscarmen for providing guidance.

',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default}; +import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('

Acknowledgements

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

Thank @Ella-Alinda @fscarmen for providing guidance.

',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default}; diff --git a/assets/en_guide_lxd_lxd_thanks.md.2e275bc4.lean.js b/assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.lean.js similarity index 97% rename from assets/en_guide_lxd_lxd_thanks.md.2e275bc4.lean.js rename to assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.lean.js index 0d08d3ed7..2f0aeb60a 100644 --- a/assets/en_guide_lxd_lxd_thanks.md.2e275bc4.lean.js +++ b/assets/en_guide_lxd_lxd_thanks.md.dd3cf7af.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1719133423000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('

Acknowledgements

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

Thank @Ella-Alinda @fscarmen for providing guidance.

',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default}; +import{_ as e,v as t,b as r,R as a}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/lxd/lxd_thanks.md","filePath":"en/guide/lxd/lxd_thanks.md","lastUpdated":1719133454000}'),n={name:"en/guide/lxd/lxd_thanks.md"},s=a('

Acknowledgements

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

Thank @Ella-Alinda @fscarmen for providing guidance.

',12),o=[s];function i(l,p,c,d,h,u){return t(),r("div",null,o)}const x=e(n,[["render",i]]);export{f as __pageData,x as default}; diff --git a/assets/en_guide_pve_pve_custom.md.ec6c99ca.js b/assets/en_guide_pve_pve_custom.md.e5ada7ad.js similarity index 93% rename from assets/en_guide_pve_pve_custom.md.ec6c99ca.js rename to assets/en_guide_pve_pve_custom.md.e5ada7ad.js index 4de391546..64f91541d 100644 --- a/assets/en_guide_pve_pve_custom.md.ec6c99ca.js +++ b/assets/en_guide_pve_pve_custom.md.e5ada7ad.js @@ -1,4 +1,4 @@ -import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`

Customized partitions

Installing Proxmox VE 7 on a non-Debian system

Minimum local hardware requirements are the same as for the previous normal installation.

You need to install docker first.

curl -sSL https://get.docker.com/ | sh
+import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`

Customized partitions

Installing Proxmox VE 7 on a non-Debian system

Minimum local hardware requirements are the same as for the previous normal installation.

You need to install docker first.

curl -sSL https://get.docker.com/ | sh
 curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version

Then use uname -m to query the architecture and use the command corresponding to the architecture

The opened PVE panel information is:

Login username and password are both root, after logging in be sure to use web SSH to change the password to avoid being blown up.

When using host SSH, be sure to log into the corresponding https://IPV4:8006 to use SSH on the web panel, do not use the host's port 22 to manipulate the PVE.

Because the SSH on the web panel is inside Docker, it does not support subsequent one-click configurations, so please configure your own gateway, etc. to use it.

X86 architecture

bash
docker run -idt --network host \\
@@ -22,9 +22,9 @@ import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=
 systemctl disable pvescheduler.service

Discontinuation of Spiceproxy service

If you do not need to use Spice for VM/container linking (the Arm version itself does not support Spice), you can deactivate the service by executing the following command:

systemctl stop spiceproxy.service 
 systemctl disable spiceproxy.service

Deleting the memory cache using a timed task

Clearing different types of caches and performing TRIM operations on file systems

shell
TEMP_CRON=$(mktemp)
 sudo crontab -l > $TEMP_CRON
-echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 180; fstrim -av >> /root/checkio.log >> /root/checkio.log" >> $TEMP_CRON
+echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 180; fstrim -av" >> $TEMP_CRON
 sudo crontab $TEMP_CRON
 rm $TEMP_CRON

The above commands require the sudo and crontab commands to be available on the host itself.

Self-mapping of public ports on KVM VMs with open NATs

Use the nano or vim command to modify the file to add port mapping:

/etc/iptables/rules.v4

For example, if I have a KVM VM with an intranet IP of 172.16.1.152, and MYSQL has been set up to listen to 3306, and I need to use the tcp protocol to map out to the 33306 port on the host IP, I would add the following line to the COMMIT line in the file above, then add the following line

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

Save the file and exit file editing and then execute:

service netfilter-persistent restart

Reload Port Mapping

At this point, on the host machine, execute the

lsof -i:33306

To see if the port mapping rule is in effect

`,52),l=[t];function p(c,i,r,d,h,m){return e(),a("div",null,l)}const C=s(n,[["render",p]]);export{y as __pageData,C as default}; diff --git a/assets/en_guide_pve_pve_custom.md.ec6c99ca.lean.js b/assets/en_guide_pve_pve_custom.md.e5ada7ad.lean.js similarity index 93% rename from assets/en_guide_pve_pve_custom.md.ec6c99ca.lean.js rename to assets/en_guide_pve_pve_custom.md.e5ada7ad.lean.js index 4de391546..64f91541d 100644 --- a/assets/en_guide_pve_pve_custom.md.ec6c99ca.lean.js +++ b/assets/en_guide_pve_pve_custom.md.e5ada7ad.lean.js @@ -1,4 +1,4 @@ -import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`

Customized partitions

Installing Proxmox VE 7 on a non-Debian system

Minimum local hardware requirements are the same as for the previous normal installation.

You need to install docker first.

curl -sSL https://get.docker.com/ | sh
+import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Customized partitions","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_custom.md","filePath":"en/guide/pve/pve_custom.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_custom.md"},t=o(`

Customized partitions

Installing Proxmox VE 7 on a non-Debian system

Minimum local hardware requirements are the same as for the previous normal installation.

You need to install docker first.

curl -sSL https://get.docker.com/ | sh
 curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version

Then use uname -m to query the architecture and use the command corresponding to the architecture

The opened PVE panel information is:

Login username and password are both root, after logging in be sure to use web SSH to change the password to avoid being blown up.

When using host SSH, be sure to log into the corresponding https://IPV4:8006 to use SSH on the web panel, do not use the host's port 22 to manipulate the PVE.

Because the SSH on the web panel is inside Docker, it does not support subsequent one-click configurations, so please configure your own gateway, etc. to use it.

X86 architecture

bash
docker run -idt --network host \\
@@ -22,9 +22,9 @@ import{_ as s,v as e,b as a,R as o}from"./chunks/framework.70afa331.js";const y=
 systemctl disable pvescheduler.service

Discontinuation of Spiceproxy service

If you do not need to use Spice for VM/container linking (the Arm version itself does not support Spice), you can deactivate the service by executing the following command:

systemctl stop spiceproxy.service 
 systemctl disable spiceproxy.service

Deleting the memory cache using a timed task

Clearing different types of caches and performing TRIM operations on file systems

shell
TEMP_CRON=$(mktemp)
 sudo crontab -l > $TEMP_CRON
-echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 180; fstrim -av >> /root/checkio.log >> /root/checkio.log" >> $TEMP_CRON
+echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 180; fstrim -av" >> $TEMP_CRON
 sudo crontab $TEMP_CRON
 rm $TEMP_CRON

The above commands require the sudo and crontab commands to be available on the host itself.

Self-mapping of public ports on KVM VMs with open NATs

Use the nano or vim command to modify the file to add port mapping:

/etc/iptables/rules.v4

For example, if I have a KVM VM with an intranet IP of 172.16.1.152, and MYSQL has been set up to listen to 3306, and I need to use the tcp protocol to map out to the 33306 port on the host IP, I would add the following line to the COMMIT line in the file above, then add the following line

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

Save the file and exit file editing and then execute:

service netfilter-persistent restart

Reload Port Mapping

At this point, on the host machine, execute the

lsof -i:33306

To see if the port mapping rule is in effect

`,52),l=[t];function p(c,i,r,d,h,m){return e(),a("div",null,l)}const C=s(n,[["render",p]]);export{y as __pageData,C as default}; diff --git a/assets/en_guide_pve_pve_install.md.d7ec33d2.js b/assets/en_guide_pve_pve_install.md.ca191c89.js similarity index 99% rename from assets/en_guide_pve_pve_install.md.d7ec33d2.js rename to assets/en_guide_pve_pve_install.md.ca191c89.js index 84f6693f8..d648e2809 100644 --- a/assets/en_guide_pve_pve_install.md.d7ec33d2.js +++ b/assets/en_guide_pve_pve_install.md.ca191c89.js @@ -1 +1 @@ -import{_ as e,v as t,b as o,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"PVE Body Installation","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_install.md","filePath":"en/guide/pve/pve_install.md","lastUpdated":1719133423000}'),a={name:"en/guide/pve/pve_install.md"},n=s('

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

',32),i=[n];function l(r,c,p,d,h,u){return t(),o("div",null,i)}const y=e(a,[["render",l]]);export{f as __pageData,y as default}; +import{_ as e,v as t,b as o,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"PVE Body Installation","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_install.md","filePath":"en/guide/pve/pve_install.md","lastUpdated":1719133454000}'),a={name:"en/guide/pve/pve_install.md"},n=s('

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

',32),i=[n];function l(r,c,p,d,h,u){return t(),o("div",null,i)}const y=e(a,[["render",l]]);export{f as __pageData,y as default}; diff --git a/assets/en_guide_pve_pve_install.md.d7ec33d2.lean.js b/assets/en_guide_pve_pve_install.md.ca191c89.lean.js similarity index 99% rename from assets/en_guide_pve_pve_install.md.d7ec33d2.lean.js rename to assets/en_guide_pve_pve_install.md.ca191c89.lean.js index 84f6693f8..d648e2809 100644 --- a/assets/en_guide_pve_pve_install.md.d7ec33d2.lean.js +++ b/assets/en_guide_pve_pve_install.md.ca191c89.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as o,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"PVE Body Installation","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_install.md","filePath":"en/guide/pve/pve_install.md","lastUpdated":1719133423000}'),a={name:"en/guide/pve/pve_install.md"},n=s('

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

',32),i=[n];function l(r,c,p,d,h,u){return t(),o("div",null,i)}const y=e(a,[["render",l]]);export{f as __pageData,y as default}; +import{_ as e,v as t,b as o,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"PVE Body Installation","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_install.md","filePath":"en/guide/pve/pve_install.md","lastUpdated":1719133454000}'),a={name:"en/guide/pve/pve_install.md"},n=s('

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

',32),i=[n];function l(r,c,p,d,h,u){return t(),o("div",null,i)}const y=e(a,[["render",l]]);export{f as __pageData,y as default}; diff --git a/assets/en_guide_pve_pve_kvm.md.aaa75259.js b/assets/en_guide_pve_pve_kvm.md.c6439674.js similarity index 99% rename from assets/en_guide_pve_pve_kvm.md.aaa75259.js rename to assets/en_guide_pve_pve_kvm.md.c6439674.js index 2858d547a..01a2b1533 100644 --- a/assets/en_guide_pve_pve_kvm.md.aaa75259.js +++ b/assets/en_guide_pve_pve_kvm.md.c6439674.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"KVM Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_kvm.md","filePath":"en/guide/pve/pve_kvm.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_kvm.md"},o=t(`

KVM Virtualization

SSH Login Instructions

The virtual machines created through KVM virtualization do not have the username root by default. To switch to the root user, you need to execute sudo -i .

Default allow logging in with the username root, and the default root password is password or oneclickvirt. You can give it a try.

Once you've logged in via SSH and switched to root privileges, it's crucial to change the root password. You can use the following command to do so.

Command:

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

Partial Notes

Commands to set up the testing environment for executing this project are as follows:

图片

To perform the above-mentioned query, you only need to use the one-click script below to automatically create a virtual machine. There is no need to manually modify settings on the web interface.

图片

After creating the virtual machines using the subsequent script as mentioned above, it may be necessary to manually modify the settings on the web interface. You will need to disable hardware nested virtualization for each respective virtual machine, as shown in the following diagram.

图片

Stop the virtual machine before making modifications. After the modifications are done, you can start the machine to use NOVNC. Failure to close it may result in bugs that render this virtual machine unusable.

If you forcibly install PVE to enable KVM, even if the startup fails, you can also disable this option and try to start the virtual machine to see if it works.

TIP

Please use the "screen" command to suspend execution before launching the virtual machine, in order to avoid prolonged startup times. Unstable SSH connections could lead to interruptions during the intermediate execution.

Considerations for opening a KVM virtual machine with an IPV6 address

Due to long-term inactivity IPV6 does not use may lead to NDP broadcast cache invalidation reset, generally idle for about 50 minutes will appear IPV6 unavailable, commonly known as "IPV6 cutoff", at this time it is necessary to set up a timer task.

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

Executing the above commands in the opened virtual machine ensures that the IPV6 network is always used and does not fail over.

Images available for creating KVM virtual machines

  • Pre-installed with cloud-init enabled.
  • Enabled SSH login.
  • Pre-configured SSH to listen on ports 22 for both IPv4 and IPv6.
  • Enabled password authentication for login.
  • Enabled root login.
  • Partially pre-installed QEMU guest agent.

The list of currently available image names is as follows:

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

and

https://github.com/oneclickvirt/pve_kvm_images

Daily patch images stored in the Release of this repository.

Virtual machines with standalone NAT configuration in KVM virtualization.

  • Automatically deploy NAT servers with the default Debian 10 image, chosen for its minimal footprint.
  • It's possible to customize the image used through the command, and pre-configured images are available. These images come with storage settings ranging from 2 to 10 GB of disk space. For regular use, at least 10 GB of disk space is recommended. You can increase the disk size if certain images fail to start.
  • The command allows for specifying the storage disk location. When not specified, it defaults to the local disk, which is the system disk. It can also be set to a mount disk as displayed in PVE.
  • Recommended custom memory size is 512 MB.
  • Automatic internal and external port mapping, including ports 22, 80, 443, and 25 other port numbers shared between internal and external networks.
  • After generation, there's a wait time for the virtual machine's internal cloud-init configuration to establish network and login information. This process takes approximately 5 minutes.
  • Pertinent virtual machine information will be stored in the NOTES section of the corresponding VM on the web interface, accessible for viewing through the web portal.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically added. However, there won't be any public IPV6 addresses.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

System Support:

  • For x86_64 architecture systems listed in this link, simply use the filename without the .qcow2 extension when using.
  • For arm architecture systems listed at this link, use the system name and version number, such as ubuntu20 or ubuntu22.

TIP

Note that usernames consisting of only numbers may cause issues with cloud-init. It's preferable to use usernames that are entirely in English or start with an English character.

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

Meaning of each parameter

shell
./buildvm.sh VMID Username Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Public_Port_Start Public_Port_End System Storage_Disk Independent_IPV6_address(leave default N blank)

TIP

Note that the Password here should be a mix of English and numbers only, and start with English, so as to avoid failing to set the Password due to special characters being escaped during the setup process.

Test Example

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

After setup is completed, you can execute cat vm102 to view the information or check the NOTES section for the corresponding VM on the WEB interface.

Below is the information for the example VM that has been set up:

AttributeValue
VMID102
SSH Usernametest1
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size10G
SSH Port40001
Port 8040002
Port 44340003
Port Range for NAT50000 to 50025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific VM

  • Stop VM
  • Delete VM
  • Delete port mapping
  • Restart network
  • Delete log files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the VM with the corresponding VMID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each VMID, and more than one can be deleted at a time.

Batch Creation of Virtual Machines with KVM Virtualization and NAT

WARNING

Before initial use, ensure that the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port forwarding, as conflicting settings may result in bugs.

TIP

Before initiating the batch creation process, please use the 'screen' command to execute it in the background. This will help avoid interruptions due to the instability of SSH caused by extended batch creation times.

  • The batch creation process can be run multiple times to generate multiple virtual machines (VMs).
  • NAT servers are automatically created during the process. If left blank, the default Debian 11 image will be used. You can also customize the image name. Refer to the list of supported images in the previous section.
  • Automatic internal and external port mapping is performed, including ports 22, 80, 443, and other ports with identical internal and external numbers (25 ports in total).
  • After generation, a waiting period is required for the cloud-init configuration of the VM's network and login information to be set up. This process takes approximately 5 minutes. There is a 60-second interval between creating each VM to avoid potential performance issues.
  • The default network configuration for VMs created in batches includes port mappings for ports 22, 80, 443, and a range of 25 ports for internal and external communication.
  • You can customize the number of CPU cores, memory size, disk size, and which storage disk on the host machine to use for batch creation. Ensure you calculate available resources before proceeding.
  • Relevant information about the virtual machines will be stored in the 'NOTES' section of the corresponding VM on the web interface, where you can view them.
  • If the host machine comes with an IPv6 subnet, an IPv6 network will be automatically attached, although there will be no public IPv6 addresses available.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

After the setup is completed, you can execute cat vmlog to view the information, or check the NOTES in the corresponding VM on the web interface.

Delete All Virtual Machines

  • Delete all VMs
  • Delete all NAT port mappings
  • Restart the network
  • Delete log files
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
+import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"KVM Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_kvm.md","filePath":"en/guide/pve/pve_kvm.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_kvm.md"},o=t(`

KVM Virtualization

SSH Login Instructions

The virtual machines created through KVM virtualization do not have the username root by default. To switch to the root user, you need to execute sudo -i .

Default allow logging in with the username root, and the default root password is password or oneclickvirt. You can give it a try.

Once you've logged in via SSH and switched to root privileges, it's crucial to change the root password. You can use the following command to do so.

Command:

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

Partial Notes

Commands to set up the testing environment for executing this project are as follows:

图片

To perform the above-mentioned query, you only need to use the one-click script below to automatically create a virtual machine. There is no need to manually modify settings on the web interface.

图片

After creating the virtual machines using the subsequent script as mentioned above, it may be necessary to manually modify the settings on the web interface. You will need to disable hardware nested virtualization for each respective virtual machine, as shown in the following diagram.

图片

Stop the virtual machine before making modifications. After the modifications are done, you can start the machine to use NOVNC. Failure to close it may result in bugs that render this virtual machine unusable.

If you forcibly install PVE to enable KVM, even if the startup fails, you can also disable this option and try to start the virtual machine to see if it works.

TIP

Please use the "screen" command to suspend execution before launching the virtual machine, in order to avoid prolonged startup times. Unstable SSH connections could lead to interruptions during the intermediate execution.

Considerations for opening a KVM virtual machine with an IPV6 address

Due to long-term inactivity IPV6 does not use may lead to NDP broadcast cache invalidation reset, generally idle for about 50 minutes will appear IPV6 unavailable, commonly known as "IPV6 cutoff", at this time it is necessary to set up a timer task.

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

Executing the above commands in the opened virtual machine ensures that the IPV6 network is always used and does not fail over.

Images available for creating KVM virtual machines

  • Pre-installed with cloud-init enabled.
  • Enabled SSH login.
  • Pre-configured SSH to listen on ports 22 for both IPv4 and IPv6.
  • Enabled password authentication for login.
  • Enabled root login.
  • Partially pre-installed QEMU guest agent.

The list of currently available image names is as follows:

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

and

https://github.com/oneclickvirt/pve_kvm_images

Daily patch images stored in the Release of this repository.

Virtual machines with standalone NAT configuration in KVM virtualization.

  • Automatically deploy NAT servers with the default Debian 10 image, chosen for its minimal footprint.
  • It's possible to customize the image used through the command, and pre-configured images are available. These images come with storage settings ranging from 2 to 10 GB of disk space. For regular use, at least 10 GB of disk space is recommended. You can increase the disk size if certain images fail to start.
  • The command allows for specifying the storage disk location. When not specified, it defaults to the local disk, which is the system disk. It can also be set to a mount disk as displayed in PVE.
  • Recommended custom memory size is 512 MB.
  • Automatic internal and external port mapping, including ports 22, 80, 443, and 25 other port numbers shared between internal and external networks.
  • After generation, there's a wait time for the virtual machine's internal cloud-init configuration to establish network and login information. This process takes approximately 5 minutes.
  • Pertinent virtual machine information will be stored in the NOTES section of the corresponding VM on the web interface, accessible for viewing through the web portal.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically added. However, there won't be any public IPV6 addresses.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

System Support:

  • For x86_64 architecture systems listed in this link, simply use the filename without the .qcow2 extension when using.
  • For arm architecture systems listed at this link, use the system name and version number, such as ubuntu20 or ubuntu22.

TIP

Note that usernames consisting of only numbers may cause issues with cloud-init. It's preferable to use usernames that are entirely in English or start with an English character.

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

Meaning of each parameter

shell
./buildvm.sh VMID Username Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Public_Port_Start Public_Port_End System Storage_Disk Independent_IPV6_address(leave default N blank)

TIP

Note that the Password here should be a mix of English and numbers only, and start with English, so as to avoid failing to set the Password due to special characters being escaped during the setup process.

Test Example

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

After setup is completed, you can execute cat vm102 to view the information or check the NOTES section for the corresponding VM on the WEB interface.

Below is the information for the example VM that has been set up:

AttributeValue
VMID102
SSH Usernametest1
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size10G
SSH Port40001
Port 8040002
Port 44340003
Port Range for NAT50000 to 50025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific VM

  • Stop VM
  • Delete VM
  • Delete port mapping
  • Restart network
  • Delete log files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the VM with the corresponding VMID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each VMID, and more than one can be deleted at a time.

Batch Creation of Virtual Machines with KVM Virtualization and NAT

WARNING

Before initial use, ensure that the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port forwarding, as conflicting settings may result in bugs.

TIP

Before initiating the batch creation process, please use the 'screen' command to execute it in the background. This will help avoid interruptions due to the instability of SSH caused by extended batch creation times.

  • The batch creation process can be run multiple times to generate multiple virtual machines (VMs).
  • NAT servers are automatically created during the process. If left blank, the default Debian 11 image will be used. You can also customize the image name. Refer to the list of supported images in the previous section.
  • Automatic internal and external port mapping is performed, including ports 22, 80, 443, and other ports with identical internal and external numbers (25 ports in total).
  • After generation, a waiting period is required for the cloud-init configuration of the VM's network and login information to be set up. This process takes approximately 5 minutes. There is a 60-second interval between creating each VM to avoid potential performance issues.
  • The default network configuration for VMs created in batches includes port mappings for ports 22, 80, 443, and a range of 25 ports for internal and external communication.
  • You can customize the number of CPU cores, memory size, disk size, and which storage disk on the host machine to use for batch creation. Ensure you calculate available resources before proceeding.
  • Relevant information about the virtual machines will be stored in the 'NOTES' section of the corresponding VM on the web interface, where you can view them.
  • If the host machine comes with an IPv6 subnet, an IPv6 network will be automatically attached, although there will be no public IPv6 addresses available.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

After the setup is completed, you can execute cat vmlog to view the information, or check the NOTES in the corresponding VM on the web interface.

Delete All Virtual Machines

  • Delete all VMs
  • Delete all NAT port mappings
  • Restart the network
  • Delete log files
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
 iptables -t nat -F
 iptables -t filter -F
 service networking restart
diff --git a/assets/en_guide_pve_pve_kvm.md.aaa75259.lean.js b/assets/en_guide_pve_pve_kvm.md.c6439674.lean.js
similarity index 99%
rename from assets/en_guide_pve_pve_kvm.md.aaa75259.lean.js
rename to assets/en_guide_pve_pve_kvm.md.c6439674.lean.js
index 2858d547a..01a2b1533 100644
--- a/assets/en_guide_pve_pve_kvm.md.aaa75259.lean.js
+++ b/assets/en_guide_pve_pve_kvm.md.c6439674.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"KVM Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_kvm.md","filePath":"en/guide/pve/pve_kvm.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_kvm.md"},o=t(`

KVM Virtualization

SSH Login Instructions

The virtual machines created through KVM virtualization do not have the username root by default. To switch to the root user, you need to execute sudo -i .

Default allow logging in with the username root, and the default root password is password or oneclickvirt. You can give it a try.

Once you've logged in via SSH and switched to root privileges, it's crucial to change the root password. You can use the following command to do so.

Command:

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

Partial Notes

Commands to set up the testing environment for executing this project are as follows:

图片

To perform the above-mentioned query, you only need to use the one-click script below to automatically create a virtual machine. There is no need to manually modify settings on the web interface.

图片

After creating the virtual machines using the subsequent script as mentioned above, it may be necessary to manually modify the settings on the web interface. You will need to disable hardware nested virtualization for each respective virtual machine, as shown in the following diagram.

图片

Stop the virtual machine before making modifications. After the modifications are done, you can start the machine to use NOVNC. Failure to close it may result in bugs that render this virtual machine unusable.

If you forcibly install PVE to enable KVM, even if the startup fails, you can also disable this option and try to start the virtual machine to see if it works.

TIP

Please use the "screen" command to suspend execution before launching the virtual machine, in order to avoid prolonged startup times. Unstable SSH connections could lead to interruptions during the intermediate execution.

Considerations for opening a KVM virtual machine with an IPV6 address

Due to long-term inactivity IPV6 does not use may lead to NDP broadcast cache invalidation reset, generally idle for about 50 minutes will appear IPV6 unavailable, commonly known as "IPV6 cutoff", at this time it is necessary to set up a timer task.

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

Executing the above commands in the opened virtual machine ensures that the IPV6 network is always used and does not fail over.

Images available for creating KVM virtual machines

  • Pre-installed with cloud-init enabled.
  • Enabled SSH login.
  • Pre-configured SSH to listen on ports 22 for both IPv4 and IPv6.
  • Enabled password authentication for login.
  • Enabled root login.
  • Partially pre-installed QEMU guest agent.

The list of currently available image names is as follows:

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

and

https://github.com/oneclickvirt/pve_kvm_images

Daily patch images stored in the Release of this repository.

Virtual machines with standalone NAT configuration in KVM virtualization.

  • Automatically deploy NAT servers with the default Debian 10 image, chosen for its minimal footprint.
  • It's possible to customize the image used through the command, and pre-configured images are available. These images come with storage settings ranging from 2 to 10 GB of disk space. For regular use, at least 10 GB of disk space is recommended. You can increase the disk size if certain images fail to start.
  • The command allows for specifying the storage disk location. When not specified, it defaults to the local disk, which is the system disk. It can also be set to a mount disk as displayed in PVE.
  • Recommended custom memory size is 512 MB.
  • Automatic internal and external port mapping, including ports 22, 80, 443, and 25 other port numbers shared between internal and external networks.
  • After generation, there's a wait time for the virtual machine's internal cloud-init configuration to establish network and login information. This process takes approximately 5 minutes.
  • Pertinent virtual machine information will be stored in the NOTES section of the corresponding VM on the web interface, accessible for viewing through the web portal.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically added. However, there won't be any public IPV6 addresses.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

System Support:

  • For x86_64 architecture systems listed in this link, simply use the filename without the .qcow2 extension when using.
  • For arm architecture systems listed at this link, use the system name and version number, such as ubuntu20 or ubuntu22.

TIP

Note that usernames consisting of only numbers may cause issues with cloud-init. It's preferable to use usernames that are entirely in English or start with an English character.

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

Meaning of each parameter

shell
./buildvm.sh VMID Username Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Public_Port_Start Public_Port_End System Storage_Disk Independent_IPV6_address(leave default N blank)

TIP

Note that the Password here should be a mix of English and numbers only, and start with English, so as to avoid failing to set the Password due to special characters being escaped during the setup process.

Test Example

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

After setup is completed, you can execute cat vm102 to view the information or check the NOTES section for the corresponding VM on the WEB interface.

Below is the information for the example VM that has been set up:

AttributeValue
VMID102
SSH Usernametest1
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size10G
SSH Port40001
Port 8040002
Port 44340003
Port Range for NAT50000 to 50025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific VM

  • Stop VM
  • Delete VM
  • Delete port mapping
  • Restart network
  • Delete log files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the VM with the corresponding VMID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each VMID, and more than one can be deleted at a time.

Batch Creation of Virtual Machines with KVM Virtualization and NAT

WARNING

Before initial use, ensure that the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port forwarding, as conflicting settings may result in bugs.

TIP

Before initiating the batch creation process, please use the 'screen' command to execute it in the background. This will help avoid interruptions due to the instability of SSH caused by extended batch creation times.

  • The batch creation process can be run multiple times to generate multiple virtual machines (VMs).
  • NAT servers are automatically created during the process. If left blank, the default Debian 11 image will be used. You can also customize the image name. Refer to the list of supported images in the previous section.
  • Automatic internal and external port mapping is performed, including ports 22, 80, 443, and other ports with identical internal and external numbers (25 ports in total).
  • After generation, a waiting period is required for the cloud-init configuration of the VM's network and login information to be set up. This process takes approximately 5 minutes. There is a 60-second interval between creating each VM to avoid potential performance issues.
  • The default network configuration for VMs created in batches includes port mappings for ports 22, 80, 443, and a range of 25 ports for internal and external communication.
  • You can customize the number of CPU cores, memory size, disk size, and which storage disk on the host machine to use for batch creation. Ensure you calculate available resources before proceeding.
  • Relevant information about the virtual machines will be stored in the 'NOTES' section of the corresponding VM on the web interface, where you can view them.
  • If the host machine comes with an IPv6 subnet, an IPv6 network will be automatically attached, although there will be no public IPv6 addresses available.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

After the setup is completed, you can execute cat vmlog to view the information, or check the NOTES in the corresponding VM on the web interface.

Delete All Virtual Machines

  • Delete all VMs
  • Delete all NAT port mappings
  • Restart the network
  • Delete log files
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
+import{_ as s,v as a,b as e,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"KVM Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_kvm.md","filePath":"en/guide/pve/pve_kvm.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_kvm.md"},o=t(`

KVM Virtualization

SSH Login Instructions

The virtual machines created through KVM virtualization do not have the username root by default. To switch to the root user, you need to execute sudo -i .

Default allow logging in with the username root, and the default root password is password or oneclickvirt. You can give it a try.

Once you've logged in via SSH and switched to root privileges, it's crucial to change the root password. You can use the following command to do so.

Command:

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

Partial Notes

Commands to set up the testing environment for executing this project are as follows:

图片

To perform the above-mentioned query, you only need to use the one-click script below to automatically create a virtual machine. There is no need to manually modify settings on the web interface.

图片

After creating the virtual machines using the subsequent script as mentioned above, it may be necessary to manually modify the settings on the web interface. You will need to disable hardware nested virtualization for each respective virtual machine, as shown in the following diagram.

图片

Stop the virtual machine before making modifications. After the modifications are done, you can start the machine to use NOVNC. Failure to close it may result in bugs that render this virtual machine unusable.

If you forcibly install PVE to enable KVM, even if the startup fails, you can also disable this option and try to start the virtual machine to see if it works.

TIP

Please use the "screen" command to suspend execution before launching the virtual machine, in order to avoid prolonged startup times. Unstable SSH connections could lead to interruptions during the intermediate execution.

Considerations for opening a KVM virtual machine with an IPV6 address

Due to long-term inactivity IPV6 does not use may lead to NDP broadcast cache invalidation reset, generally idle for about 50 minutes will appear IPV6 unavailable, commonly known as "IPV6 cutoff", at this time it is necessary to set up a timer task.

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

Executing the above commands in the opened virtual machine ensures that the IPV6 network is always used and does not fail over.

Images available for creating KVM virtual machines

  • Pre-installed with cloud-init enabled.
  • Enabled SSH login.
  • Pre-configured SSH to listen on ports 22 for both IPv4 and IPv6.
  • Enabled password authentication for login.
  • Enabled root login.
  • Partially pre-installed QEMU guest agent.

The list of currently available image names is as follows:

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

and

https://github.com/oneclickvirt/pve_kvm_images

Daily patch images stored in the Release of this repository.

Virtual machines with standalone NAT configuration in KVM virtualization.

  • Automatically deploy NAT servers with the default Debian 10 image, chosen for its minimal footprint.
  • It's possible to customize the image used through the command, and pre-configured images are available. These images come with storage settings ranging from 2 to 10 GB of disk space. For regular use, at least 10 GB of disk space is recommended. You can increase the disk size if certain images fail to start.
  • The command allows for specifying the storage disk location. When not specified, it defaults to the local disk, which is the system disk. It can also be set to a mount disk as displayed in PVE.
  • Recommended custom memory size is 512 MB.
  • Automatic internal and external port mapping, including ports 22, 80, 443, and 25 other port numbers shared between internal and external networks.
  • After generation, there's a wait time for the virtual machine's internal cloud-init configuration to establish network and login information. This process takes approximately 5 minutes.
  • Pertinent virtual machine information will be stored in the NOTES section of the corresponding VM on the web interface, accessible for viewing through the web portal.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically added. However, there won't be any public IPV6 addresses.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

System Support:

  • For x86_64 architecture systems listed in this link, simply use the filename without the .qcow2 extension when using.
  • For arm architecture systems listed at this link, use the system name and version number, such as ubuntu20 or ubuntu22.

TIP

Note that usernames consisting of only numbers may cause issues with cloud-init. It's preferable to use usernames that are entirely in English or start with an English character.

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

Meaning of each parameter

shell
./buildvm.sh VMID Username Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Public_Port_Start Public_Port_End System Storage_Disk Independent_IPV6_address(leave default N blank)

TIP

Note that the Password here should be a mix of English and numbers only, and start with English, so as to avoid failing to set the Password due to special characters being escaped during the setup process.

Test Example

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

After setup is completed, you can execute cat vm102 to view the information or check the NOTES section for the corresponding VM on the WEB interface.

Below is the information for the example VM that has been set up:

AttributeValue
VMID102
SSH Usernametest1
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size10G
SSH Port40001
Port 8040002
Port 44340003
Port Range for NAT50000 to 50025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific VM

  • Stop VM
  • Delete VM
  • Delete port mapping
  • Restart network
  • Delete log files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the VM with the corresponding VMID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each VMID, and more than one can be deleted at a time.

Batch Creation of Virtual Machines with KVM Virtualization and NAT

WARNING

Before initial use, ensure that the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port forwarding, as conflicting settings may result in bugs.

TIP

Before initiating the batch creation process, please use the 'screen' command to execute it in the background. This will help avoid interruptions due to the instability of SSH caused by extended batch creation times.

  • The batch creation process can be run multiple times to generate multiple virtual machines (VMs).
  • NAT servers are automatically created during the process. If left blank, the default Debian 11 image will be used. You can also customize the image name. Refer to the list of supported images in the previous section.
  • Automatic internal and external port mapping is performed, including ports 22, 80, 443, and other ports with identical internal and external numbers (25 ports in total).
  • After generation, a waiting period is required for the cloud-init configuration of the VM's network and login information to be set up. This process takes approximately 5 minutes. There is a 60-second interval between creating each VM to avoid potential performance issues.
  • The default network configuration for VMs created in batches includes port mappings for ports 22, 80, 443, and a range of 25 ports for internal and external communication.
  • You can customize the number of CPU cores, memory size, disk size, and which storage disk on the host machine to use for batch creation. Ensure you calculate available resources before proceeding.
  • Relevant information about the virtual machines will be stored in the 'NOTES' section of the corresponding VM on the web interface, where you can view them.
  • If the host machine comes with an IPv6 subnet, an IPv6 network will be automatically attached, although there will be no public IPv6 addresses available.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

After the setup is completed, you can execute cat vmlog to view the information, or check the NOTES in the corresponding VM on the web interface.

Delete All Virtual Machines

  • Delete all VMs
  • Delete all NAT port mappings
  • Restart the network
  • Delete log files
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
 iptables -t nat -F
 iptables -t filter -F
 service networking restart
diff --git a/assets/en_guide_pve_pve_lxc.md.46f7cdac.js b/assets/en_guide_pve_pve_lxc.md.159a973e.js
similarity index 99%
rename from assets/en_guide_pve_pve_lxc.md.46f7cdac.js
rename to assets/en_guide_pve_pve_lxc.md.159a973e.js
index d81333dbe..581f01d71 100644
--- a/assets/en_guide_pve_pve_lxc.md.46f7cdac.js
+++ b/assets/en_guide_pve_pve_lxc.md.159a973e.js
@@ -1,4 +1,4 @@
-import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"LXC Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_lxc.md","filePath":"en/guide/pve/pve_lxc.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_lxc.md"},o=t(`

LXC Virtualization

Images available for creating LXC Containers

x86_64:

Auto-patching images: https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

Automated daily pulls for compilation and patching

Self-patching images: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

Some of these images are flawed and not guaranteed to be available for all PVEs, with names like ubuntu16.04, debian6, centos7, opensuse42.2, opensuse42.3 Don't use them unless necessary.

and

Run pveam available --section system to see the names and version numbers of the officially available systems.

Priority: Self-patching images (not supported by Proxmox-VE 5 and below) > Official default images (both supported) image

The version has been automatically recognized by a script to use the corresponding image.

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

Supported systems can be viewed in the file above, which lists debian and ubuntu systems do not use the aliases in it, just use the numeric designators.

TIP

All system parameters are lowercase system names spliced with version numbers, e.g. debian11, ubuntu22, etc. (Self-patched images support some out-of-the-way systems, such as centos6, centos7, debian8, debian9, etc.)

The default CT username for all systems is root

TIP

Of course, sometimes there are special cases where the version may be current/base, in which case it is sufficient to use only the English system name, e.g. archlinux, gentoo, kali.

Creating Individual LXC Containers for Virtualization

WARNING

Before initial use, ensure that the current PVE (Proxmox Virtual Environment) is clean and the host machine has not undergone any port mapping, as conflicts in settings could lead to bugs.

TIP

Before creating containers, use the 'screen' command to run them in the background. This helps to avoid extended creation times that might lead to interruptions due to unstable SSH connections.

  • Automatically create NAT servers using the default Debian 11 image, or customize the system image as needed.
  • Automatically perform internal and external network port mapping, including ports 22, 80, 443, and 25 additional ports with identical numbers for both internal and external networks.
  • After generation, allow some time for the virtual machine to configure its internal network and login information. This process takes approximately 3 minutes.
  • The default network configuration includes port mappings for 22, 80, 443, and a range of 25 ports for both internal and external networks.
  • Customize the number of cores, memory size, disk size, and the storage disk on the host machine for allocation. Ensure that you calculate available resources before creating containers.
  • Optionally specify the storage disk location in the command. When not specified, it defaults to the local disk, which is the system disk. Alternatively, you can specify a mount disk as displayed in PVE.
  • The created containers are enabled with SSH by default, allowing root login. They are also configured to support nested virtualization for Docker.
  • Relevant container information will be stored in the respective container's notes, accessible through the web interface.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically attached, but no public IPV6 addresses will be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

Meaning of each parameter

shell
./buildct.sh CTID Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Start_Public_Port End_Public_Port System Storage_Disk Independent_IPV6_address(leave default N blank)

Test Example

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

After setting up, you can execute cat ct102 to view the information, or check the NOTES section on the web interface.

Here is the information for the created example CT:

Please note that "CT" and other technical terms might have specific meanings in different contexts. If "CT" stands for something specific in your domain, you might want to provide additional context for accurate translation.

AttributeValue
VMID102
SSH Usernameroot
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size5G
SSH Port20001
Port 8020002
Port 44320003
Port Range for NAT30000 to 30025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific CT

  • Stop CT
  • Delete CT
  • Delete Port Mapping
  • Restart Network
  • Delete Log Files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the CT with the corresponding CTID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each CTID, and more than one can be deleted at a time.

Batch Creation of LXC Containers with NAT

WARNING

Make sure the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port mapping before the first use, as conflicting settings may result in bugs.

TIP

Before initiating the creation process, it's recommended to use the 'screen' command to execute the batch creation. This will prevent interruptions due to potential instability in SSH during the extended creation time.

  • It is possible to run the batch container creation process multiple times. However, please be mindful of allocating enough memory to the host machine to prevent system crashes. For adding swap space, refer to this link.
  • There is a 60-second interval between creating each container to avoid sudden performance bottlenecks.
  • Customization options include selecting the number of CPU cores, memory size, disk size, and the storage drive on the host machine. Ensure that you have calculated available resources appropriately before initiating the process.
  • The created containers have SSH enabled by default, allowing root login. Additionally, they are configured to support nested virtualization for Docker usage.
  • Relevant information about the containers will be stored in the corresponding container's notes, which can be viewed on the web interface.
  • If the host machine has an IPv6 subnet, it will be automatically assigned to the containers. However, public IPv6 addresses will not be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

After the setup is complete, you can execute cat ctlog to view the information, or check in the NOTES section on the web interface.

Delete All CT

  • Delete all CTs
  • Delete port mappings for all NATs
  • Restart the network
  • Delete log files
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
+import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"LXC Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_lxc.md","filePath":"en/guide/pve/pve_lxc.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_lxc.md"},o=t(`

LXC Virtualization

Images available for creating LXC Containers

x86_64:

Auto-patching images: https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

Automated daily pulls for compilation and patching

Self-patching images: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

Some of these images are flawed and not guaranteed to be available for all PVEs, with names like ubuntu16.04, debian6, centos7, opensuse42.2, opensuse42.3 Don't use them unless necessary.

and

Run pveam available --section system to see the names and version numbers of the officially available systems.

Priority: Self-patching images (not supported by Proxmox-VE 5 and below) > Official default images (both supported) image

The version has been automatically recognized by a script to use the corresponding image.

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

Supported systems can be viewed in the file above, which lists debian and ubuntu systems do not use the aliases in it, just use the numeric designators.

TIP

All system parameters are lowercase system names spliced with version numbers, e.g. debian11, ubuntu22, etc. (Self-patched images support some out-of-the-way systems, such as centos6, centos7, debian8, debian9, etc.)

The default CT username for all systems is root

TIP

Of course, sometimes there are special cases where the version may be current/base, in which case it is sufficient to use only the English system name, e.g. archlinux, gentoo, kali.

Creating Individual LXC Containers for Virtualization

WARNING

Before initial use, ensure that the current PVE (Proxmox Virtual Environment) is clean and the host machine has not undergone any port mapping, as conflicts in settings could lead to bugs.

TIP

Before creating containers, use the 'screen' command to run them in the background. This helps to avoid extended creation times that might lead to interruptions due to unstable SSH connections.

  • Automatically create NAT servers using the default Debian 11 image, or customize the system image as needed.
  • Automatically perform internal and external network port mapping, including ports 22, 80, 443, and 25 additional ports with identical numbers for both internal and external networks.
  • After generation, allow some time for the virtual machine to configure its internal network and login information. This process takes approximately 3 minutes.
  • The default network configuration includes port mappings for 22, 80, 443, and a range of 25 ports for both internal and external networks.
  • Customize the number of cores, memory size, disk size, and the storage disk on the host machine for allocation. Ensure that you calculate available resources before creating containers.
  • Optionally specify the storage disk location in the command. When not specified, it defaults to the local disk, which is the system disk. Alternatively, you can specify a mount disk as displayed in PVE.
  • The created containers are enabled with SSH by default, allowing root login. They are also configured to support nested virtualization for Docker.
  • Relevant container information will be stored in the respective container's notes, accessible through the web interface.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically attached, but no public IPV6 addresses will be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

Meaning of each parameter

shell
./buildct.sh CTID Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Start_Public_Port End_Public_Port System Storage_Disk Independent_IPV6_address(leave default N blank)

Test Example

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

After setting up, you can execute cat ct102 to view the information, or check the NOTES section on the web interface.

Here is the information for the created example CT:

Please note that "CT" and other technical terms might have specific meanings in different contexts. If "CT" stands for something specific in your domain, you might want to provide additional context for accurate translation.

AttributeValue
VMID102
SSH Usernameroot
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size5G
SSH Port20001
Port 8020002
Port 44320003
Port Range for NAT30000 to 30025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific CT

  • Stop CT
  • Delete CT
  • Delete Port Mapping
  • Restart Network
  • Delete Log Files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the CT with the corresponding CTID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each CTID, and more than one can be deleted at a time.

Batch Creation of LXC Containers with NAT

WARNING

Make sure the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port mapping before the first use, as conflicting settings may result in bugs.

TIP

Before initiating the creation process, it's recommended to use the 'screen' command to execute the batch creation. This will prevent interruptions due to potential instability in SSH during the extended creation time.

  • It is possible to run the batch container creation process multiple times. However, please be mindful of allocating enough memory to the host machine to prevent system crashes. For adding swap space, refer to this link.
  • There is a 60-second interval between creating each container to avoid sudden performance bottlenecks.
  • Customization options include selecting the number of CPU cores, memory size, disk size, and the storage drive on the host machine. Ensure that you have calculated available resources appropriately before initiating the process.
  • The created containers have SSH enabled by default, allowing root login. Additionally, they are configured to support nested virtualization for Docker usage.
  • Relevant information about the containers will be stored in the corresponding container's notes, which can be viewed on the web interface.
  • If the host machine has an IPv6 subnet, it will be automatically assigned to the containers. However, public IPv6 addresses will not be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

After the setup is complete, you can execute cat ctlog to view the information, or check in the NOTES section on the web interface.

Delete All CT

  • Delete all CTs
  • Delete port mappings for all NATs
  • Restart the network
  • Delete log files
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
 rm -rf ct*
 iptables -t nat -F
 iptables -t filter -F
diff --git a/assets/en_guide_pve_pve_lxc.md.46f7cdac.lean.js b/assets/en_guide_pve_pve_lxc.md.159a973e.lean.js
similarity index 99%
rename from assets/en_guide_pve_pve_lxc.md.46f7cdac.lean.js
rename to assets/en_guide_pve_pve_lxc.md.159a973e.lean.js
index d81333dbe..581f01d71 100644
--- a/assets/en_guide_pve_pve_lxc.md.46f7cdac.lean.js
+++ b/assets/en_guide_pve_pve_lxc.md.159a973e.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"LXC Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_lxc.md","filePath":"en/guide/pve/pve_lxc.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_lxc.md"},o=t(`

LXC Virtualization

Images available for creating LXC Containers

x86_64:

Auto-patching images: https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

Automated daily pulls for compilation and patching

Self-patching images: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

Some of these images are flawed and not guaranteed to be available for all PVEs, with names like ubuntu16.04, debian6, centos7, opensuse42.2, opensuse42.3 Don't use them unless necessary.

and

Run pveam available --section system to see the names and version numbers of the officially available systems.

Priority: Self-patching images (not supported by Proxmox-VE 5 and below) > Official default images (both supported) image

The version has been automatically recognized by a script to use the corresponding image.

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

Supported systems can be viewed in the file above, which lists debian and ubuntu systems do not use the aliases in it, just use the numeric designators.

TIP

All system parameters are lowercase system names spliced with version numbers, e.g. debian11, ubuntu22, etc. (Self-patched images support some out-of-the-way systems, such as centos6, centos7, debian8, debian9, etc.)

The default CT username for all systems is root

TIP

Of course, sometimes there are special cases where the version may be current/base, in which case it is sufficient to use only the English system name, e.g. archlinux, gentoo, kali.

Creating Individual LXC Containers for Virtualization

WARNING

Before initial use, ensure that the current PVE (Proxmox Virtual Environment) is clean and the host machine has not undergone any port mapping, as conflicts in settings could lead to bugs.

TIP

Before creating containers, use the 'screen' command to run them in the background. This helps to avoid extended creation times that might lead to interruptions due to unstable SSH connections.

  • Automatically create NAT servers using the default Debian 11 image, or customize the system image as needed.
  • Automatically perform internal and external network port mapping, including ports 22, 80, 443, and 25 additional ports with identical numbers for both internal and external networks.
  • After generation, allow some time for the virtual machine to configure its internal network and login information. This process takes approximately 3 minutes.
  • The default network configuration includes port mappings for 22, 80, 443, and a range of 25 ports for both internal and external networks.
  • Customize the number of cores, memory size, disk size, and the storage disk on the host machine for allocation. Ensure that you calculate available resources before creating containers.
  • Optionally specify the storage disk location in the command. When not specified, it defaults to the local disk, which is the system disk. Alternatively, you can specify a mount disk as displayed in PVE.
  • The created containers are enabled with SSH by default, allowing root login. They are also configured to support nested virtualization for Docker.
  • Relevant container information will be stored in the respective container's notes, accessible through the web interface.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically attached, but no public IPV6 addresses will be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

Meaning of each parameter

shell
./buildct.sh CTID Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Start_Public_Port End_Public_Port System Storage_Disk Independent_IPV6_address(leave default N blank)

Test Example

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

After setting up, you can execute cat ct102 to view the information, or check the NOTES section on the web interface.

Here is the information for the created example CT:

Please note that "CT" and other technical terms might have specific meanings in different contexts. If "CT" stands for something specific in your domain, you might want to provide additional context for accurate translation.

AttributeValue
VMID102
SSH Usernameroot
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size5G
SSH Port20001
Port 8020002
Port 44320003
Port Range for NAT30000 to 30025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific CT

  • Stop CT
  • Delete CT
  • Delete Port Mapping
  • Restart Network
  • Delete Log Files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the CT with the corresponding CTID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each CTID, and more than one can be deleted at a time.

Batch Creation of LXC Containers with NAT

WARNING

Make sure the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port mapping before the first use, as conflicting settings may result in bugs.

TIP

Before initiating the creation process, it's recommended to use the 'screen' command to execute the batch creation. This will prevent interruptions due to potential instability in SSH during the extended creation time.

  • It is possible to run the batch container creation process multiple times. However, please be mindful of allocating enough memory to the host machine to prevent system crashes. For adding swap space, refer to this link.
  • There is a 60-second interval between creating each container to avoid sudden performance bottlenecks.
  • Customization options include selecting the number of CPU cores, memory size, disk size, and the storage drive on the host machine. Ensure that you have calculated available resources appropriately before initiating the process.
  • The created containers have SSH enabled by default, allowing root login. Additionally, they are configured to support nested virtualization for Docker usage.
  • Relevant information about the containers will be stored in the corresponding container's notes, which can be viewed on the web interface.
  • If the host machine has an IPv6 subnet, it will be automatically assigned to the containers. However, public IPv6 addresses will not be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

After the setup is complete, you can execute cat ctlog to view the information, or check in the NOTES section on the web interface.

Delete All CT

  • Delete all CTs
  • Delete port mappings for all NATs
  • Restart the network
  • Delete log files
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
+import{_ as s,v as e,b as a,R as t}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"LXC Virtualization","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_lxc.md","filePath":"en/guide/pve/pve_lxc.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_lxc.md"},o=t(`

LXC Virtualization

Images available for creating LXC Containers

x86_64:

Auto-patching images: https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

Automated daily pulls for compilation and patching

Self-patching images: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

Some of these images are flawed and not guaranteed to be available for all PVEs, with names like ubuntu16.04, debian6, centos7, opensuse42.2, opensuse42.3 Don't use them unless necessary.

and

Run pveam available --section system to see the names and version numbers of the officially available systems.

Priority: Self-patching images (not supported by Proxmox-VE 5 and below) > Official default images (both supported) image

The version has been automatically recognized by a script to use the corresponding image.

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

Supported systems can be viewed in the file above, which lists debian and ubuntu systems do not use the aliases in it, just use the numeric designators.

TIP

All system parameters are lowercase system names spliced with version numbers, e.g. debian11, ubuntu22, etc. (Self-patched images support some out-of-the-way systems, such as centos6, centos7, debian8, debian9, etc.)

The default CT username for all systems is root

TIP

Of course, sometimes there are special cases where the version may be current/base, in which case it is sufficient to use only the English system name, e.g. archlinux, gentoo, kali.

Creating Individual LXC Containers for Virtualization

WARNING

Before initial use, ensure that the current PVE (Proxmox Virtual Environment) is clean and the host machine has not undergone any port mapping, as conflicts in settings could lead to bugs.

TIP

Before creating containers, use the 'screen' command to run them in the background. This helps to avoid extended creation times that might lead to interruptions due to unstable SSH connections.

  • Automatically create NAT servers using the default Debian 11 image, or customize the system image as needed.
  • Automatically perform internal and external network port mapping, including ports 22, 80, 443, and 25 additional ports with identical numbers for both internal and external networks.
  • After generation, allow some time for the virtual machine to configure its internal network and login information. This process takes approximately 3 minutes.
  • The default network configuration includes port mappings for 22, 80, 443, and a range of 25 ports for both internal and external networks.
  • Customize the number of cores, memory size, disk size, and the storage disk on the host machine for allocation. Ensure that you calculate available resources before creating containers.
  • Optionally specify the storage disk location in the command. When not specified, it defaults to the local disk, which is the system disk. Alternatively, you can specify a mount disk as displayed in PVE.
  • The created containers are enabled with SSH by default, allowing root login. They are also configured to support nested virtualization for Docker.
  • Relevant container information will be stored in the respective container's notes, accessible through the web interface.
  • If the host machine has an IPV6 subnet, IPV6 networking will be automatically attached, but no public IPV6 addresses will be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

Meaning of each parameter

shell
./buildct.sh CTID Password Number_of_CPU_Cores Memory Disk SSH_Port Port_80 Port_443 Start_Public_Port End_Public_Port System Storage_Disk Independent_IPV6_address(leave default N blank)

Test Example

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

After setting up, you can execute cat ct102 to view the information, or check the NOTES section on the web interface.

Here is the information for the created example CT:

Please note that "CT" and other technical terms might have specific meanings in different contexts. If "CT" stands for something specific in your domain, you might want to provide additional context for accurate translation.

AttributeValue
VMID102
SSH Usernameroot
SSH Passwordoneclick123
Number of CPU Cores1
Memory Size512MB
Disk Size5G
SSH Port20001
Port 8020002
Port 44320003
Port Range for NAT30000 to 30025
Operating Systemdebian11
Host Storage Disklocal
IPV6 addressN

Deletion specific CT

  • Stop CT
  • Delete CT
  • Delete Port Mapping
  • Restart Network
  • Delete Log Files

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

Meaning of each parameter

You can delete the CT with the corresponding CTID, as demonstrated here using the example 102 above

shell
./pve_delete.sh 102

The actual number of deletions is not fixed, a space separates each CTID, and more than one can be deleted at a time.

Batch Creation of LXC Containers with NAT

WARNING

Make sure the current Proxmox Virtual Environment (PVE) is clean and the host machine has not undergone any port mapping before the first use, as conflicting settings may result in bugs.

TIP

Before initiating the creation process, it's recommended to use the 'screen' command to execute the batch creation. This will prevent interruptions due to potential instability in SSH during the extended creation time.

  • It is possible to run the batch container creation process multiple times. However, please be mindful of allocating enough memory to the host machine to prevent system crashes. For adding swap space, refer to this link.
  • There is a 60-second interval between creating each container to avoid sudden performance bottlenecks.
  • Customization options include selecting the number of CPU cores, memory size, disk size, and the storage drive on the host machine. Ensure that you have calculated available resources appropriately before initiating the process.
  • The created containers have SSH enabled by default, allowing root login. Additionally, they are configured to support nested virtualization for Docker usage.
  • Relevant information about the containers will be stored in the corresponding container's notes, which can be viewed on the web interface.
  • If the host machine has an IPv6 subnet, it will be automatically assigned to the containers. However, public IPv6 addresses will not be provided.
  • Optionally enable or disable standalone IPV6, requires the host to have at least one /64 subnet.

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

After the setup is complete, you can execute cat ctlog to view the information, or check in the NOTES section on the web interface.

Delete All CT

  • Delete all CTs
  • Delete port mappings for all NATs
  • Restart the network
  • Delete log files
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
 rm -rf ct*
 iptables -t nat -F
 iptables -t filter -F
diff --git a/assets/en_guide_pve_pve_precheck.md.e6029750.js b/assets/en_guide_pve_pve_precheck.md.5d0c9712.js
similarity index 99%
rename from assets/en_guide_pve_pve_precheck.md.e6029750.js
rename to assets/en_guide_pve_pve_precheck.md.5d0c9712.js
index 7db5dd56b..b42a73133 100644
--- a/assets/en_guide_pve_pve_precheck.md.e6029750.js
+++ b/assets/en_guide_pve_pve_precheck.md.5d0c9712.js
@@ -1,3 +1,3 @@
-import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_precheck.md","filePath":"en/guide/pve/pve_precheck.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_precheck.md"},o=a(`

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If there are unadapted merchants or machines welcome to contact @spiritlhl_bot, will try to support it sometime!

WARNING

Will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running it.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/pve

Various requirements

It is recommended that debian try to use the latest stable version of the system before use.

Do not use this set of scripts in the dynamic IP server (reboot the machine automatically switch the local IP server is not supported, reboot the machine after the IP does not automatically switch the support)

The one-click installation script of this project only adapts to Debian systems, non-Debian can not be installed through the APT source, the official only gives the image of Debian, other systems can only use the ISO installation, or use custom partitions and other ways to solve the problem in the FAQ partition.

  • System requirements: Debian 8+

TIP

It is recommended to install debian11 instead of debian12, because the latter is a beta version, and the debian11 installation is the stable version.

  • Hardware requirements: 2 cores 2G RAM x86_64 or arm architecture server hard disk at least 20G
  • Hardware requirements for KVM: VM-X or AMD-V support (some VPS and all Dedicated servers support).
  • If hardware or system requirements are not met, you can use incus to batch open LXC containers Jump

If you use IPV6 tunnels for IPV6 subnet attachment on the host, be sure to add the contents in the corresponding file when PVE is successfully installed but the gateway is not automatically set, and do not add IPV6 tunnels at the very beginning (without installing PVE).

Setting up virtual memory (SWAP)

Unit conversion: Enter 1024 to generate 1G SWAP-virtual memory, virtual memory takes up hard disk space, when the actual memory is not enough to use the virtual memory will automatically use the virtual memory for memory use, but then bring the IO high occupancy and CPU performance occupancy!

It is recommended to use only twice the size of the actual memory as virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Detecting the environment

  • Before the execution of scripts related to this project, be sure to execute this script to detect the environment, if it does not meet the requirements of the installation of PVE will not be able to use the subsequent scripts.
  • Detecting the IPV6 network configuration of the machine (IPV6 can be installed with or without IPV6, it is just a query).
  • Detect whether the hardware configuration meets the minimum requirements
  • Detect whether the hardware environment can be nested virtualization KVM type of server
  • Detect whether the system environment can nest virtualized KVM-type servers.
  • Can not be nested virtualization KVM type of server can also open LXC virtualization server, but do not recommend installing PVE, rather use LXD

Command:

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

If you need to update the IPV6 information before querying, then execute the following command before querying

bash
rm -rf /usr/local/bin/pve_ipv6*
+import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_precheck.md","filePath":"en/guide/pve/pve_precheck.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_precheck.md"},o=a(`

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If there are unadapted merchants or machines welcome to contact @spiritlhl_bot, will try to support it sometime!

WARNING

Will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running it.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/pve

Various requirements

It is recommended that debian try to use the latest stable version of the system before use.

Do not use this set of scripts in the dynamic IP server (reboot the machine automatically switch the local IP server is not supported, reboot the machine after the IP does not automatically switch the support)

The one-click installation script of this project only adapts to Debian systems, non-Debian can not be installed through the APT source, the official only gives the image of Debian, other systems can only use the ISO installation, or use custom partitions and other ways to solve the problem in the FAQ partition.

  • System requirements: Debian 8+

TIP

It is recommended to install debian11 instead of debian12, because the latter is a beta version, and the debian11 installation is the stable version.

  • Hardware requirements: 2 cores 2G RAM x86_64 or arm architecture server hard disk at least 20G
  • Hardware requirements for KVM: VM-X or AMD-V support (some VPS and all Dedicated servers support).
  • If hardware or system requirements are not met, you can use incus to batch open LXC containers Jump

If you use IPV6 tunnels for IPV6 subnet attachment on the host, be sure to add the contents in the corresponding file when PVE is successfully installed but the gateway is not automatically set, and do not add IPV6 tunnels at the very beginning (without installing PVE).

Setting up virtual memory (SWAP)

Unit conversion: Enter 1024 to generate 1G SWAP-virtual memory, virtual memory takes up hard disk space, when the actual memory is not enough to use the virtual memory will automatically use the virtual memory for memory use, but then bring the IO high occupancy and CPU performance occupancy!

It is recommended to use only twice the size of the actual memory as virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Detecting the environment

  • Before the execution of scripts related to this project, be sure to execute this script to detect the environment, if it does not meet the requirements of the installation of PVE will not be able to use the subsequent scripts.
  • Detecting the IPV6 network configuration of the machine (IPV6 can be installed with or without IPV6, it is just a query).
  • Detect whether the hardware configuration meets the minimum requirements
  • Detect whether the hardware environment can be nested virtualization KVM type of server
  • Detect whether the system environment can nest virtualized KVM-type servers.
  • Can not be nested virtualization KVM type of server can also open LXC virtualization server, but do not recommend installing PVE, rather use LXD

Command:

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

If you need to update the IPV6 information before querying, then execute the following command before querying

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
 rm -rf /usr/local/bin/pve_last_ipv6*


`,26),r=[o];function l(i,p,c,h,u,d){return t(),s("div",null,r)}const b=e(n,[["render",l]]);export{y as __pageData,b as default}; diff --git a/assets/en_guide_pve_pve_precheck.md.e6029750.lean.js b/assets/en_guide_pve_pve_precheck.md.5d0c9712.lean.js similarity index 99% rename from assets/en_guide_pve_pve_precheck.md.e6029750.lean.js rename to assets/en_guide_pve_pve_precheck.md.5d0c9712.lean.js index 7db5dd56b..b42a73133 100644 --- a/assets/en_guide_pve_pve_precheck.md.e6029750.lean.js +++ b/assets/en_guide_pve_pve_precheck.md.5d0c9712.lean.js @@ -1,3 +1,3 @@ -import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_precheck.md","filePath":"en/guide/pve/pve_precheck.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_precheck.md"},o=a(`

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If there are unadapted merchants or machines welcome to contact @spiritlhl_bot, will try to support it sometime!

WARNING

Will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running it.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/pve

Various requirements

It is recommended that debian try to use the latest stable version of the system before use.

Do not use this set of scripts in the dynamic IP server (reboot the machine automatically switch the local IP server is not supported, reboot the machine after the IP does not automatically switch the support)

The one-click installation script of this project only adapts to Debian systems, non-Debian can not be installed through the APT source, the official only gives the image of Debian, other systems can only use the ISO installation, or use custom partitions and other ways to solve the problem in the FAQ partition.

  • System requirements: Debian 8+

TIP

It is recommended to install debian11 instead of debian12, because the latter is a beta version, and the debian11 installation is the stable version.

  • Hardware requirements: 2 cores 2G RAM x86_64 or arm architecture server hard disk at least 20G
  • Hardware requirements for KVM: VM-X or AMD-V support (some VPS and all Dedicated servers support).
  • If hardware or system requirements are not met, you can use incus to batch open LXC containers Jump

If you use IPV6 tunnels for IPV6 subnet attachment on the host, be sure to add the contents in the corresponding file when PVE is successfully installed but the gateway is not automatically set, and do not add IPV6 tunnels at the very beginning (without installing PVE).

Setting up virtual memory (SWAP)

Unit conversion: Enter 1024 to generate 1G SWAP-virtual memory, virtual memory takes up hard disk space, when the actual memory is not enough to use the virtual memory will automatically use the virtual memory for memory use, but then bring the IO high occupancy and CPU performance occupancy!

It is recommended to use only twice the size of the actual memory as virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Detecting the environment

  • Before the execution of scripts related to this project, be sure to execute this script to detect the environment, if it does not meet the requirements of the installation of PVE will not be able to use the subsequent scripts.
  • Detecting the IPV6 network configuration of the machine (IPV6 can be installed with or without IPV6, it is just a query).
  • Detect whether the hardware configuration meets the minimum requirements
  • Detect whether the hardware environment can be nested virtualization KVM type of server
  • Detect whether the system environment can nest virtualized KVM-type servers.
  • Can not be nested virtualization KVM type of server can also open LXC virtualization server, but do not recommend installing PVE, rather use LXD

Command:

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

If you need to update the IPV6 information before querying, then execute the following command before querying

bash
rm -rf /usr/local/bin/pve_ipv6*
+import{_ as e,v as t,b as s,R as a}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Preface","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_precheck.md","filePath":"en/guide/pve/pve_precheck.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_precheck.md"},o=a(`

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If there are unadapted merchants or machines welcome to contact @spiritlhl_bot, will try to support it sometime!

WARNING

Will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running it.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/pve

Various requirements

It is recommended that debian try to use the latest stable version of the system before use.

Do not use this set of scripts in the dynamic IP server (reboot the machine automatically switch the local IP server is not supported, reboot the machine after the IP does not automatically switch the support)

The one-click installation script of this project only adapts to Debian systems, non-Debian can not be installed through the APT source, the official only gives the image of Debian, other systems can only use the ISO installation, or use custom partitions and other ways to solve the problem in the FAQ partition.

  • System requirements: Debian 8+

TIP

It is recommended to install debian11 instead of debian12, because the latter is a beta version, and the debian11 installation is the stable version.

  • Hardware requirements: 2 cores 2G RAM x86_64 or arm architecture server hard disk at least 20G
  • Hardware requirements for KVM: VM-X or AMD-V support (some VPS and all Dedicated servers support).
  • If hardware or system requirements are not met, you can use incus to batch open LXC containers Jump

If you use IPV6 tunnels for IPV6 subnet attachment on the host, be sure to add the contents in the corresponding file when PVE is successfully installed but the gateway is not automatically set, and do not add IPV6 tunnels at the very beginning (without installing PVE).

Setting up virtual memory (SWAP)

Unit conversion: Enter 1024 to generate 1G SWAP-virtual memory, virtual memory takes up hard disk space, when the actual memory is not enough to use the virtual memory will automatically use the virtual memory for memory use, but then bring the IO high occupancy and CPU performance occupancy!

It is recommended to use only twice the size of the actual memory as virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Detecting the environment

  • Before the execution of scripts related to this project, be sure to execute this script to detect the environment, if it does not meet the requirements of the installation of PVE will not be able to use the subsequent scripts.
  • Detecting the IPV6 network configuration of the machine (IPV6 can be installed with or without IPV6, it is just a query).
  • Detect whether the hardware configuration meets the minimum requirements
  • Detect whether the hardware environment can be nested virtualization KVM type of server
  • Detect whether the system environment can nest virtualized KVM-type servers.
  • Can not be nested virtualization KVM type of server can also open LXC virtualization server, but do not recommend installing PVE, rather use LXD

Command:

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

If you need to update the IPV6 information before querying, then execute the following command before querying

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
 rm -rf /usr/local/bin/pve_last_ipv6*


`,26),r=[o];function l(i,p,c,h,u,d){return t(),s("div",null,r)}const b=e(n,[["render",l]]);export{y as __pageData,b as default}; diff --git a/assets/en_guide_pve_pve_qa.md.c0ef4b96.js b/assets/en_guide_pve_pve_qa.md.e54bee1e.js similarity index 99% rename from assets/en_guide_pve_pve_qa.md.c0ef4b96.js rename to assets/en_guide_pve_pve_qa.md.e54bee1e.js index 6375f2403..b25ea4543 100644 --- a/assets/en_guide_pve_pve_qa.md.c0ef4b96.js +++ b/assets/en_guide_pve_pve_qa.md.e54bee1e.js @@ -1,4 +1,4 @@ -import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_qa.md","filePath":"en/guide/pve/pve_qa.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_qa.md"},o=t(`

Solve the puzzle

Within 30 seconds of executing the script, the machine dropped.

Original system execution

systemctl restart networking

See if it is not directly offline, if so that is the machine native problem, hot plug or dhcp caused by the network can not restart, it is recommended to replace the host system or DD a new system to try!

Generally speaking, this situation occurs in the exclusive service Debian11 system, switch to Debian12 system will not be a problem!

Successful PVE Installation but Lost Connection After Reboot

If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_qa.md","filePath":"en/guide/pve/pve_qa.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_qa.md"},o=t(`

Solve the puzzle

Within 30 seconds of executing the script, the machine dropped.

Original system execution

systemctl restart networking

See if it is not directly offline, if so that is the machine native problem, hot plug or dhcp caused by the network can not restart, it is recommended to replace the host system or DD a new system to try!

Generally speaking, this situation occurs in the exclusive service Debian11 system, switch to Debian12 system will not be a problem!

Successful PVE Installation but Lost Connection After Reboot

If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/en_guide_pve_pve_qa.md.c0ef4b96.lean.js b/assets/en_guide_pve_pve_qa.md.e54bee1e.lean.js
similarity index 99%
rename from assets/en_guide_pve_pve_qa.md.c0ef4b96.lean.js
rename to assets/en_guide_pve_pve_qa.md.e54bee1e.lean.js
index 6375f2403..b25ea4543 100644
--- a/assets/en_guide_pve_pve_qa.md.c0ef4b96.lean.js
+++ b/assets/en_guide_pve_pve_qa.md.e54bee1e.lean.js
@@ -1,4 +1,4 @@
-import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_qa.md","filePath":"en/guide/pve/pve_qa.md","lastUpdated":1719133423000}'),n={name:"en/guide/pve/pve_qa.md"},o=t(`

Solve the puzzle

Within 30 seconds of executing the script, the machine dropped.

Original system execution

systemctl restart networking

See if it is not directly offline, if so that is the machine native problem, hot plug or dhcp caused by the network can not restart, it is recommended to replace the host system or DD a new system to try!

Generally speaking, this situation occurs in the exclusive service Debian11 system, switch to Debian12 system will not be a problem!

Successful PVE Installation but Lost Connection After Reboot

If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as e,v as a,b as s,R as t}from"./chunks/framework.70afa331.js";const y=JSON.parse('{"title":"Solve the puzzle","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"en/guide/pve/pve_qa.md","filePath":"en/guide/pve/pve_qa.md","lastUpdated":1719133454000}'),n={name:"en/guide/pve/pve_qa.md"},o=t(`

Solve the puzzle

Within 30 seconds of executing the script, the machine dropped.

Original system execution

systemctl restart networking

See if it is not directly offline, if so that is the machine native problem, hot plug or dhcp caused by the network can not restart, it is recommended to replace the host system or DD a new system to try!

Generally speaking, this situation occurs in the exclusive service Debian11 system, switch to Debian12 system will not be a problem!

Successful PVE Installation but Lost Connection After Reboot

If the machine successfully installs PVE and the web interface is accessible, but loses connection after a reboot, please execute the following commands after a successful PVE installation and before rebooting:

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/en_guide_pve_pve_thanks.md.29c67504.js b/assets/en_guide_pve_pve_thanks.md.a59d4afc.js
similarity index 97%
rename from assets/en_guide_pve_pve_thanks.md.29c67504.js
rename to assets/en_guide_pve_pve_thanks.md.a59d4afc.js
index 8be059994..4e72c0050 100644
--- a/assets/en_guide_pve_pve_thanks.md.29c67504.js
+++ b/assets/en_guide_pve_pve_thanks.md.a59d4afc.js
@@ -1 +1 @@
-import{_ as e,v as r,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/pve_thanks.md","filePath":"en/guide/pve/pve_thanks.md","lastUpdated":1719133423000}'),a={name:"en/guide/pve/pve_thanks.md"},n=o('

Acknowledgements

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda for providing PVE guidance.

',16),p=[n];function s(i,h,l,m,c,g){return r(),t("div",null,p)}const d=e(a,[["render",s]]);export{u as __pageData,d as default}; +import{_ as e,v as r,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/pve_thanks.md","filePath":"en/guide/pve/pve_thanks.md","lastUpdated":1719133454000}'),a={name:"en/guide/pve/pve_thanks.md"},n=o('

Acknowledgements

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda for providing PVE guidance.

',16),p=[n];function s(i,h,l,m,c,g){return r(),t("div",null,p)}const d=e(a,[["render",s]]);export{u as __pageData,d as default}; diff --git a/assets/en_guide_pve_pve_thanks.md.29c67504.lean.js b/assets/en_guide_pve_pve_thanks.md.a59d4afc.lean.js similarity index 97% rename from assets/en_guide_pve_pve_thanks.md.29c67504.lean.js rename to assets/en_guide_pve_pve_thanks.md.a59d4afc.lean.js index 8be059994..4e72c0050 100644 --- a/assets/en_guide_pve_pve_thanks.md.29c67504.lean.js +++ b/assets/en_guide_pve_pve_thanks.md.a59d4afc.lean.js @@ -1 +1 @@ -import{_ as e,v as r,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/pve_thanks.md","filePath":"en/guide/pve/pve_thanks.md","lastUpdated":1719133423000}'),a={name:"en/guide/pve/pve_thanks.md"},n=o('

Acknowledgements

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda for providing PVE guidance.

',16),p=[n];function s(i,h,l,m,c,g){return r(),t("div",null,p)}const d=e(a,[["render",s]]);export{u as __pageData,d as default}; +import{_ as e,v as r,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"en/guide/pve/pve_thanks.md","filePath":"en/guide/pve/pve_thanks.md","lastUpdated":1719133454000}'),a={name:"en/guide/pve/pve_thanks.md"},n=o('

Acknowledgements

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

Thank @Ella-Alinda for providing PVE guidance.

',16),p=[n];function s(i,h,l,m,c,g){return r(),t("div",null,p)}const d=e(a,[["render",s]]);export{u as __pageData,d as default}; diff --git a/assets/en_index.md.ab8d8b0c.js b/assets/en_index.md.e71a63b4.js similarity index 96% rename from assets/en_index.md.ab8d8b0c.js rename to assets/en_index.md.e71a63b4.js index b63705e1e..988d04873 100644 --- a/assets/en_index.md.ab8d8b0c.js +++ b/assets/en_index.md.e71a63b4.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse(`{"title":"K'thun","titleTemplate":"One Click Virtualization","description":"","frontmatter":{"layout":"home","title":"K'thun","titleTemplate":"One Click Virtualization","tagline":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation (including IPV6、IPV4), including TCP, UDP, VNC, RDP and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1719133423000}`),n={name:"en/index.md"};function i(s,r,o,l,d,u){return t(),a("div")}const p=e(n,[["render",i]]);export{m as __pageData,p as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse(`{"title":"K'thun","titleTemplate":"One Click Virtualization","description":"","frontmatter":{"layout":"home","title":"K'thun","titleTemplate":"One Click Virtualization","tagline":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation (including IPV6、IPV4), including TCP, UDP, VNC, RDP and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1719133454000}`),n={name:"en/index.md"};function i(s,r,o,l,d,u){return t(),a("div")}const p=e(n,[["render",i]]);export{m as __pageData,p as default}; diff --git a/assets/en_index.md.ab8d8b0c.lean.js b/assets/en_index.md.e71a63b4.lean.js similarity index 96% rename from assets/en_index.md.ab8d8b0c.lean.js rename to assets/en_index.md.e71a63b4.lean.js index b63705e1e..988d04873 100644 --- a/assets/en_index.md.ab8d8b0c.lean.js +++ b/assets/en_index.md.e71a63b4.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse(`{"title":"K'thun","titleTemplate":"One Click Virtualization","description":"","frontmatter":{"layout":"home","title":"K'thun","titleTemplate":"One Click Virtualization","tagline":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation (including IPV6、IPV4), including TCP, UDP, VNC, RDP and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1719133423000}`),n={name:"en/index.md"};function i(s,r,o,l,d,u){return t(),a("div")}const p=e(n,[["render",i]]);export{m as __pageData,p as default}; +import{_ as e,v as t,b as a}from"./chunks/framework.70afa331.js";const m=JSON.parse(`{"title":"K'thun","titleTemplate":"One Click Virtualization","description":"","frontmatter":{"layout":"home","title":"K'thun","titleTemplate":"One Click Virtualization","tagline":"Open source, easy to use server virtualization project","hero":{"name":"One Click Virtualization","text":"Open source, easy to use server virtualization project","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"Learn More →","link":"/en/guide/dashboard"}]},"features":[{"title":"One Click Use","details":"Supports one-click command installation and use, easy to create virtual machines or containers on X86_64 and ARM architecture servers"},{"title":"Based on mainstream systems development","details":"Based on long-term maintenance releases of Debian, Ubuntu, Centos, etc., there is always a way to virtualize containers or virtual machines, no matter what the system is."},{"title":"Comes with internal and external port forwarding and automatic IP address assignment","details":"Self-contained internal and external port forwarding and automatic IP address allocation (including IPV6、IPV4), including TCP, UDP, VNC, RDP and other protocols, without manual management"},{"title":"Batch Virtualization","details":"Supports batch opening of containers or virtual machines using KVM, LXC, Docker virtualization"},{"title":"Multi-system and multi-environment support","details":"Open containers or virtual machines that support mainstream systems, including Linux, Android, Windows, as well as pure browser or desktop environments."},{"title":"Self-limiting abuse","details":"Some virtualized containers or VMs support the setting of masks and loading limits to avoid being used for abuse."}]},"headers":[],"relativePath":"en/index.md","filePath":"en/index.md","lastUpdated":1719133454000}`),n={name:"en/index.md"};function i(s,r,o,l,d,u){return t(),a("div")}const p=e(n,[["render",i]]);export{m as __pageData,p as default}; diff --git a/assets/guide_dashboard.md.470835d7.js b/assets/guide_dashboard.md.5281fb91.js similarity index 98% rename from assets/guide_dashboard.md.470835d7.js rename to assets/guide_dashboard.md.5281fb91.js index 7163c8a96..96a28c796 100644 --- a/assets/guide_dashboard.md.470835d7.js +++ b/assets/guide_dashboard.md.5281fb91.js @@ -1 +1 @@ -import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1719133423000}'),i={name:"guide/dashboard.md"},o=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



',29),s=[o];function c(l,p,h,n,m,d){return e(),a("div",null,s)}const g=t(i,[["render",c]]);export{b as __pageData,g as default}; +import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1719133454000}'),i={name:"guide/dashboard.md"},o=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



',29),s=[o];function c(l,p,h,n,m,d){return e(),a("div",null,s)}const g=t(i,[["render",c]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboard.md.470835d7.lean.js b/assets/guide_dashboard.md.5281fb91.lean.js similarity index 98% rename from assets/guide_dashboard.md.470835d7.lean.js rename to assets/guide_dashboard.md.5281fb91.lean.js index 7163c8a96..96a28c796 100644 --- a/assets/guide_dashboard.md.470835d7.lean.js +++ b/assets/guide_dashboard.md.5281fb91.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1719133423000}'),i={name:"guide/dashboard.md"},o=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



',29),s=[o];function c(l,p,h,n,m,d){return e(),a("div",null,s)}const g=t(i,[["render",c]]);export{b as __pageData,g as default}; +import{_ as t,v as e,b as a,R as r}from"./chunks/framework.70afa331.js";const b=JSON.parse('{"title":"","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/dashboard.md","filePath":"guide/dashboard.md","lastUpdated":1719133454000}'),i={name:"guide/dashboard.md"},o=r('

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



',29),s=[o];function c(l,p,h,n,m,d){return e(),a("div",null,s)}const g=t(i,[["render",c]]);export{b as __pageData,g as default}; diff --git a/assets/guide_dashboardq.md.0627a903.js b/assets/guide_dashboardq.md.fc953816.js similarity index 92% rename from assets/guide_dashboardq.md.0627a903.js rename to assets/guide_dashboardq.md.fc953816.js index 604abf361..b7cb9ee60 100644 --- a/assets/guide_dashboardq.md.0627a903.js +++ b/assets/guide_dashboardq.md.fc953816.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1719133423000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; +import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1719133454000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/guide_dashboardq.md.0627a903.lean.js b/assets/guide_dashboardq.md.fc953816.lean.js similarity index 92% rename from assets/guide_dashboardq.md.0627a903.lean.js rename to assets/guide_dashboardq.md.fc953816.lean.js index 604abf361..b7cb9ee60 100644 --- a/assets/guide_dashboardq.md.0627a903.lean.js +++ b/assets/guide_dashboardq.md.fc953816.lean.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1719133423000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; +import{_ as a,v as s,b as e,R as t}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/dashboardq.md","filePath":"guide/dashboardq.md","lastUpdated":1719133454000}'),o={name:"guide/dashboardq.md"},r=t('

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
',4),p=[r];function d(n,i,c,l,h,f){return s(),e("div",null,p)}const u=a(o,[["render",d]]);export{m as __pageData,u as default}; diff --git a/assets/guide_docker_docker_build.md.4e0dd4b9.js b/assets/guide_docker_docker_build.md.4f51af92.js similarity index 99% rename from assets/guide_docker_docker_build.md.4e0dd4b9.js rename to assets/guide_docker_docker_build.md.4f51af92.js index 8db984644..23e559ca0 100644 --- a/assets/guide_docker_docker_build.md.4e0dd4b9.js +++ b/assets/guide_docker_docker_build.md.4f51af92.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_build.md","filePath":"guide/docker/docker_build.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_build.md"},p=l(`

前言

两种开设方式

单独开设

  • 只生成一个docker,这里有判断为国际服务器还是国内服务器,如果在国内服务器上开设,容器内的包管理源自动替换为清华源
  • 可配置绑定独立的IPV6地址,但需要先前使用本套脚本的环境安装命令安装的docker,且需要宿主机至少绑定了/112的IPV6子网
  • 支持x86_64和ARM架构的服务器

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

示例

运行支持的变量

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

目前system仅支持选择

  • alpine
  • debian
  • ubuntu
  • almalinux

默认不填则是debian

shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

以下为开设的示例容器的信息:

属性
容器名字test
SSH登录的用户名root
SSH登录的密码123456
CPU核数1
内存大小512MB
SSH端口25000
内外网映射端口一致的区间34975到35000
系统debian
是否绑定独立的IPV6地址N

相关操作

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_build.md","filePath":"guide/docker/docker_build.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_build.md"},p=l(`

前言

两种开设方式

单独开设

  • 只生成一个docker,这里有判断为国际服务器还是国内服务器,如果在国内服务器上开设,容器内的包管理源自动替换为清华源
  • 可配置绑定独立的IPV6地址,但需要先前使用本套脚本的环境安装命令安装的docker,且需要宿主机至少绑定了/112的IPV6子网
  • 支持x86_64和ARM架构的服务器

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

示例

运行支持的变量

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

目前system仅支持选择

  • alpine
  • debian
  • ubuntu
  • almalinux

默认不填则是debian

shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

以下为开设的示例容器的信息:

属性
容器名字test
SSH登录的用户名root
SSH登录的密码123456
CPU核数1
内存大小512MB
SSH端口25000
内外网映射端口一致的区间34975到35000
系统debian
是否绑定独立的IPV6地址N

相关操作

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询已开设的信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行
  • 支持x86_64和ARM架构的服务器

运行

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_docker.sh -o create_docker.sh && chmod +x create_docker.sh && bash create_docker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息,docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的

卸载所有docker容器和镜像

以下命令卸载会忽略ndpresponder,以防止IPV6的配置失效

shell
docker ps -aq --format '{{.Names}}' | grep -E '^ndpresponder' | xargs -r docker rm -f
 docker images -aq --format '{{.Repository}}:{{.Tag}}' | grep -E '^ndpresponder' | xargs -r docker rmi
diff --git a/assets/guide_docker_docker_build.md.4e0dd4b9.lean.js b/assets/guide_docker_docker_build.md.4f51af92.lean.js
similarity index 99%
rename from assets/guide_docker_docker_build.md.4e0dd4b9.lean.js
rename to assets/guide_docker_docker_build.md.4f51af92.lean.js
index 8db984644..23e559ca0 100644
--- a/assets/guide_docker_docker_build.md.4e0dd4b9.lean.js
+++ b/assets/guide_docker_docker_build.md.4f51af92.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_build.md","filePath":"guide/docker/docker_build.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_build.md"},p=l(`

前言

两种开设方式

单独开设

  • 只生成一个docker,这里有判断为国际服务器还是国内服务器,如果在国内服务器上开设,容器内的包管理源自动替换为清华源
  • 可配置绑定独立的IPV6地址,但需要先前使用本套脚本的环境安装命令安装的docker,且需要宿主机至少绑定了/112的IPV6子网
  • 支持x86_64和ARM架构的服务器

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

示例

运行支持的变量

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

目前system仅支持选择

  • alpine
  • debian
  • ubuntu
  • almalinux

默认不填则是debian

shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

以下为开设的示例容器的信息:

属性
容器名字test
SSH登录的用户名root
SSH登录的密码123456
CPU核数1
内存大小512MB
SSH端口25000
内外网映射端口一致的区间34975到35000
系统debian
是否绑定独立的IPV6地址N

相关操作

删除示例

shell
docker rm -f test
+import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_build.md","filePath":"guide/docker/docker_build.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_build.md"},p=l(`

前言

两种开设方式

单独开设

  • 只生成一个docker,这里有判断为国际服务器还是国内服务器,如果在国内服务器上开设,容器内的包管理源自动替换为清华源
  • 可配置绑定独立的IPV6地址,但需要先前使用本套脚本的环境安装命令安装的docker,且需要宿主机至少绑定了/112的IPV6子网
  • 支持x86_64和ARM架构的服务器

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

示例

运行支持的变量

./onedocker.sh name cpu memory password sshport startport endport <independent_ipv6> <system>

目前system仅支持选择

  • alpine
  • debian
  • ubuntu
  • almalinux

默认不填则是debian

shell
./onedocker.sh test 1 512 123456 25000 34975 35000 N debian

以下为开设的示例容器的信息:

属性
容器名字test
SSH登录的用户名root
SSH登录的密码123456
CPU核数1
内存大小512MB
SSH端口25000
内外网映射端口一致的区间34975到35000
系统debian
是否绑定独立的IPV6地址N

相关操作

删除示例

shell
docker rm -f test
 rm -rf test
 ls

进入示例

shell
docker exec -it test /bin/bash

要退出容器就执行exit退出。

查询已开设的信息

shell
cat 容器名字

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的

批量开设

  • 批量多次运行继承配置生成
  • 生成多个时为避免SSH连接中断建议在screen中执行
  • 支持x86_64和ARM架构的服务器

运行

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_docker.sh -o create_docker.sh && chmod +x create_docker.sh && bash create_docker.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onedocker.sh -o onedocker.sh && chmod +x onedocker.sh

查询批量开设的信息

shell
cat dclog

输出格式

容器名字 SSH端口 登陆的root密码 核数 内存 外网端口起 外网端口止

一行一个容器对应的信息,docker的ipv6地址只能在容器内自己查询,在docker的配置中是不存在的

卸载所有docker容器和镜像

以下命令卸载会忽略ndpresponder,以防止IPV6的配置失效

shell
docker ps -aq --format '{{.Names}}' | grep -E '^ndpresponder' | xargs -r docker rm -f
 docker images -aq --format '{{.Repository}}:{{.Tag}}' | grep -E '^ndpresponder' | xargs -r docker rmi
diff --git a/assets/guide_docker_docker_custom.md.164e0249.js b/assets/guide_docker_docker_custom.md.2bca6ce2.js
similarity index 99%
rename from assets/guide_docker_docker_custom.md.164e0249.js
rename to assets/guide_docker_docker_custom.md.2bca6ce2.js
index 0d035531e..f72c62031 100644
--- a/assets/guide_docker_docker_custom.md.164e0249.js
+++ b/assets/guide_docker_docker_custom.md.2bca6ce2.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as o,R as l}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"使用Docker一键安装某些容器的脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_custom.md","filePath":"guide/docker/docker_custom.md","lastUpdated":1719133423000}'),n={name:"guide/docker/docker_custom.md"},p=l(`

使用Docker一键安装某些容器的脚本

每个容器都有对应的配置要求,自行查看,内存不够的用这个开设虚拟内存补足也行

注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装

一键开设Android系统的容器

  • 自定义安卓版本
  • 自动创建带校验的web网站
  • 自动进行nginx安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用80端口
  • 无需考虑宿主机是否支持嵌套虚拟化
  • 支持x86_64和ARM架构

宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死

宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏

安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)

如果开设后,过了5分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装

开设

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

命令执行后按照提示输入即可,注意选择版本输入的是序号,对应选项的数字序号,安装完毕后打开本机IPV4+80端口可登录

如果需要查询生成的安卓信息和web登录信息,执行cat /root/android_info可查询信息

默认的用户名 onea

默认密码 oneclick

远程的桌面点击H264 Converter跳转就是了

暂时只支持生成一个安卓容器,勿要重复生成,如需替换版本请执行后续命令删除后再次开设

暂时只支持开设后一直使用,不可重启服务器,重启后可能无法自重启映射成功,自测

删除

  • 删除容器
  • 删除容器对应镜像
  • 删除配置文件
docker rm -f android
+import{_ as s,v as a,b as o,R as l}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"使用Docker一键安装某些容器的脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_custom.md","filePath":"guide/docker/docker_custom.md","lastUpdated":1719133454000}'),n={name:"guide/docker/docker_custom.md"},p=l(`

使用Docker一键安装某些容器的脚本

每个容器都有对应的配置要求,自行查看,内存不够的用这个开设虚拟内存补足也行

注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装

一键开设Android系统的容器

  • 自定义安卓版本
  • 自动创建带校验的web网站
  • 自动进行nginx安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用80端口
  • 无需考虑宿主机是否支持嵌套虚拟化
  • 支持x86_64和ARM架构

宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死

宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏

安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)

如果开设后,过了5分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装

开设

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

命令执行后按照提示输入即可,注意选择版本输入的是序号,对应选项的数字序号,安装完毕后打开本机IPV4+80端口可登录

如果需要查询生成的安卓信息和web登录信息,执行cat /root/android_info可查询信息

默认的用户名 onea

默认密码 oneclick

远程的桌面点击H264 Converter跳转就是了

暂时只支持生成一个安卓容器,勿要重复生成,如需替换版本请执行后续命令删除后再次开设

暂时只支持开设后一直使用,不可重启服务器,重启后可能无法自重启映射成功,自测

删除

  • 删除容器
  • 删除容器对应镜像
  • 删除配置文件
docker rm -f android
 docker rmi $(docker images | grep "redroid" | awk '{print $3}')
 rm -rf /etc/nginx/sites-enabled/reverse-proxy
 rm -rf /etc/nginx/sites-available/reverse-proxy
diff --git a/assets/guide_docker_docker_custom.md.164e0249.lean.js b/assets/guide_docker_docker_custom.md.2bca6ce2.lean.js
similarity index 99%
rename from assets/guide_docker_docker_custom.md.164e0249.lean.js
rename to assets/guide_docker_docker_custom.md.2bca6ce2.lean.js
index 0d035531e..f72c62031 100644
--- a/assets/guide_docker_docker_custom.md.164e0249.lean.js
+++ b/assets/guide_docker_docker_custom.md.2bca6ce2.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as o,R as l}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"使用Docker一键安装某些容器的脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_custom.md","filePath":"guide/docker/docker_custom.md","lastUpdated":1719133423000}'),n={name:"guide/docker/docker_custom.md"},p=l(`

使用Docker一键安装某些容器的脚本

每个容器都有对应的配置要求,自行查看,内存不够的用这个开设虚拟内存补足也行

注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装

一键开设Android系统的容器

  • 自定义安卓版本
  • 自动创建带校验的web网站
  • 自动进行nginx安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用80端口
  • 无需考虑宿主机是否支持嵌套虚拟化
  • 支持x86_64和ARM架构

宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死

宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏

安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)

如果开设后,过了5分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装

开设

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

命令执行后按照提示输入即可,注意选择版本输入的是序号,对应选项的数字序号,安装完毕后打开本机IPV4+80端口可登录

如果需要查询生成的安卓信息和web登录信息,执行cat /root/android_info可查询信息

默认的用户名 onea

默认密码 oneclick

远程的桌面点击H264 Converter跳转就是了

暂时只支持生成一个安卓容器,勿要重复生成,如需替换版本请执行后续命令删除后再次开设

暂时只支持开设后一直使用,不可重启服务器,重启后可能无法自重启映射成功,自测

删除

  • 删除容器
  • 删除容器对应镜像
  • 删除配置文件
docker rm -f android
+import{_ as s,v as a,b as o,R as l}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"使用Docker一键安装某些容器的脚本","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_custom.md","filePath":"guide/docker/docker_custom.md","lastUpdated":1719133454000}'),n={name:"guide/docker/docker_custom.md"},p=l(`

使用Docker一键安装某些容器的脚本

每个容器都有对应的配置要求,自行查看,内存不够的用这个开设虚拟内存补足也行

注意,以下脚本使用前务必使用本套教程中的环境安装脚本进行前期环境安装

一键开设Android系统的容器

  • 自定义安卓版本
  • 自动创建带校验的web网站
  • 自动进行nginx安装和反向代理的配置,可选择是否绑定域名,默认回车不绑定使用80端口
  • 无需考虑宿主机是否支持嵌套虚拟化
  • 支持x86_64和ARM架构

宿主机的配置至少要有1核2G内存15G硬盘,否则开设可能会导致宿主机卡死

宿主机推荐 Ubuntu 系统,Debian 系统可能导致安卓屏幕白屏

安卓版本越新占用越大,以上的配置要求是最低版本安卓的配置要求 (个人测试到 12.0.0-latest 的tag可用,更高版本映射白屏了,自己测试哪个能用吧)

如果开设后,过了5分钟浏览器网页的登录验证还是一直失败,那么请查询安卓容器的日志,大概率安卓容器崩溃了,建议更换更低的安卓系统版本的容器进行安装

开设

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/create_android.sh -o create_android.sh && chmod +x create_android.sh && bash create_android.sh

命令执行后按照提示输入即可,注意选择版本输入的是序号,对应选项的数字序号,安装完毕后打开本机IPV4+80端口可登录

如果需要查询生成的安卓信息和web登录信息,执行cat /root/android_info可查询信息

默认的用户名 onea

默认密码 oneclick

远程的桌面点击H264 Converter跳转就是了

暂时只支持生成一个安卓容器,勿要重复生成,如需替换版本请执行后续命令删除后再次开设

暂时只支持开设后一直使用,不可重启服务器,重启后可能无法自重启映射成功,自测

删除

  • 删除容器
  • 删除容器对应镜像
  • 删除配置文件
docker rm -f android
 docker rmi $(docker images | grep "redroid" | awk '{print $3}')
 rm -rf /etc/nginx/sites-enabled/reverse-proxy
 rm -rf /etc/nginx/sites-available/reverse-proxy
diff --git a/assets/guide_docker_docker_install.md.0a649a62.js b/assets/guide_docker_docker_install.md.c822a4f1.js
similarity index 99%
rename from assets/guide_docker_docker_install.md.0a649a62.js
rename to assets/guide_docker_docker_install.md.c822a4f1.js
index 5259251fc..c840bde9c 100644
--- a/assets/guide_docker_docker_install.md.0a649a62.js
+++ b/assets/guide_docker_docker_install.md.c822a4f1.js
@@ -1 +1 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_install.md","filePath":"guide/docker/docker_install.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_install.md"},n=p('

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

',20),e=[n];function t(c,r,C,i,d,y){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_install.md","filePath":"guide/docker/docker_install.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_install.md"},n=p('

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

',20),e=[n];function t(c,r,C,i,d,y){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h as default}; diff --git a/assets/guide_docker_docker_install.md.0a649a62.lean.js b/assets/guide_docker_docker_install.md.c822a4f1.lean.js similarity index 99% rename from assets/guide_docker_docker_install.md.0a649a62.lean.js rename to assets/guide_docker_docker_install.md.c822a4f1.lean.js index 5259251fc..c840bde9c 100644 --- a/assets/guide_docker_docker_install.md.0a649a62.lean.js +++ b/assets/guide_docker_docker_install.md.c822a4f1.lean.js @@ -1 +1 @@ -import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_install.md","filePath":"guide/docker/docker_install.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_install.md"},n=p('

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

',20),e=[n];function t(c,r,C,i,d,y){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h as default}; +import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_install.md","filePath":"guide/docker/docker_install.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_install.md"},n=p('

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

',20),e=[n];function t(c,r,C,i,d,y){return a(),l("div",null,e)}const h=s(o,[["render",t]]);export{D as __pageData,h as default}; diff --git a/assets/guide_docker_docker_precheck.md.69d9f97d.js b/assets/guide_docker_docker_precheck.md.edc49191.js similarity index 98% rename from assets/guide_docker_docker_precheck.md.69d9f97d.js rename to assets/guide_docker_docker_precheck.md.edc49191.js index 33e092756..c4829c5ed 100644 --- a/assets/guide_docker_docker_precheck.md.69d9f97d.js +++ b/assets/guide_docker_docker_precheck.md.edc49191.js @@ -1 +1 @@ -import{_ as e,v as r,b as o,R as a}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_precheck.md","filePath":"guide/docker/docker_precheck.md","lastUpdated":1719133423000}'),t={name:"guide/docker/docker_precheck.md"},c=a('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

',17),d=[c];function p(s,i,n,l,h,k){return r(),o("div",null,d)}const f=e(t,[["render",p]]);export{_ as __pageData,f as default}; +import{_ as e,v as r,b as o,R as a}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_precheck.md","filePath":"guide/docker/docker_precheck.md","lastUpdated":1719133454000}'),t={name:"guide/docker/docker_precheck.md"},c=a('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

',17),d=[c];function p(s,i,n,l,h,k){return r(),o("div",null,d)}const f=e(t,[["render",p]]);export{_ as __pageData,f as default}; diff --git a/assets/guide_docker_docker_precheck.md.69d9f97d.lean.js b/assets/guide_docker_docker_precheck.md.edc49191.lean.js similarity index 98% rename from assets/guide_docker_docker_precheck.md.69d9f97d.lean.js rename to assets/guide_docker_docker_precheck.md.edc49191.lean.js index 33e092756..c4829c5ed 100644 --- a/assets/guide_docker_docker_precheck.md.69d9f97d.lean.js +++ b/assets/guide_docker_docker_precheck.md.edc49191.lean.js @@ -1 +1 @@ -import{_ as e,v as r,b as o,R as a}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_precheck.md","filePath":"guide/docker/docker_precheck.md","lastUpdated":1719133423000}'),t={name:"guide/docker/docker_precheck.md"},c=a('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

',17),d=[c];function p(s,i,n,l,h,k){return r(),o("div",null,d)}const f=e(t,[["render",p]]);export{_ as __pageData,f as default}; +import{_ as e,v as r,b as o,R as a}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_precheck.md","filePath":"guide/docker/docker_precheck.md","lastUpdated":1719133454000}'),t={name:"guide/docker/docker_precheck.md"},c=a('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

',17),d=[c];function p(s,i,n,l,h,k){return r(),o("div",null,d)}const f=e(t,[["render",p]]);export{_ as __pageData,f as default}; diff --git a/assets/guide_docker_docker_qa.md.0aee4a0a.js b/assets/guide_docker_docker_qa.md.23175bf1.js similarity index 98% rename from assets/guide_docker_docker_qa.md.0aee4a0a.js rename to assets/guide_docker_docker_qa.md.23175bf1.js index d234476ee..d1adc0485 100644 --- a/assets/guide_docker_docker_qa.md.0aee4a0a.js +++ b/assets/guide_docker_docker_qa.md.23175bf1.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_qa.md","filePath":"guide/docker/docker_qa.md","lastUpdated":1719133423000}'),n={name:"guide/docker/docker_qa.md"},p=l('

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
',22),o=[p];function t(c,i,d,r,g,h){return s(),e("div",null,o)}const C=a(n,[["render",t]]);export{k as __pageData,C as default}; +import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_qa.md","filePath":"guide/docker/docker_qa.md","lastUpdated":1719133454000}'),n={name:"guide/docker/docker_qa.md"},p=l('

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
',22),o=[p];function t(c,i,d,r,g,h){return s(),e("div",null,o)}const C=a(n,[["render",t]]);export{k as __pageData,C as default}; diff --git a/assets/guide_docker_docker_qa.md.0aee4a0a.lean.js b/assets/guide_docker_docker_qa.md.23175bf1.lean.js similarity index 98% rename from assets/guide_docker_docker_qa.md.0aee4a0a.lean.js rename to assets/guide_docker_docker_qa.md.23175bf1.lean.js index d234476ee..d1adc0485 100644 --- a/assets/guide_docker_docker_qa.md.0aee4a0a.lean.js +++ b/assets/guide_docker_docker_qa.md.23175bf1.lean.js @@ -1 +1 @@ -import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_qa.md","filePath":"guide/docker/docker_qa.md","lastUpdated":1719133423000}'),n={name:"guide/docker/docker_qa.md"},p=l('

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
',22),o=[p];function t(c,i,d,r,g,h){return s(),e("div",null,o)}const C=a(n,[["render",t]]);export{k as __pageData,C as default}; +import{_ as a,v as s,b as e,R as l}from"./chunks/framework.70afa331.js";const k=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/docker/docker_qa.md","filePath":"guide/docker/docker_qa.md","lastUpdated":1719133454000}'),n={name:"guide/docker/docker_qa.md"},p=l('

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
',22),o=[p];function t(c,i,d,r,g,h){return s(),e("div",null,o)}const C=a(n,[["render",t]]);export{k as __pageData,C as default}; diff --git a/assets/guide_docker_docker_thanks.md.397cef8e.js b/assets/guide_docker_docker_thanks.md.19fc7a3a.js similarity index 98% rename from assets/guide_docker_docker_thanks.md.397cef8e.js rename to assets/guide_docker_docker_thanks.md.19fc7a3a.js index b0435bb80..7aeaf3ec8 100644 --- a/assets/guide_docker_docker_thanks.md.397cef8e.js +++ b/assets/guide_docker_docker_thanks.md.19fc7a3a.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker/docker_thanks.md","filePath":"guide/docker/docker_thanks.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_thanks.md"},n=a('

致谢

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/rustdesk/rustdesk

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 和 @CoiaPrant 提供的Docker指导

',21),h=[n];function p(c,s,i,l,u,d){return e(),t("div",null,h)}const b=r(o,[["render",p]]);export{m as __pageData,b as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker/docker_thanks.md","filePath":"guide/docker/docker_thanks.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_thanks.md"},n=a('

致谢

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/rustdesk/rustdesk

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 和 @CoiaPrant 提供的Docker指导

',21),h=[n];function p(c,s,i,l,u,d){return e(),t("div",null,h)}const b=r(o,[["render",p]]);export{m as __pageData,b as default}; diff --git a/assets/guide_docker_docker_thanks.md.397cef8e.lean.js b/assets/guide_docker_docker_thanks.md.19fc7a3a.lean.js similarity index 98% rename from assets/guide_docker_docker_thanks.md.397cef8e.lean.js rename to assets/guide_docker_docker_thanks.md.19fc7a3a.lean.js index b0435bb80..7aeaf3ec8 100644 --- a/assets/guide_docker_docker_thanks.md.397cef8e.lean.js +++ b/assets/guide_docker_docker_thanks.md.19fc7a3a.lean.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker/docker_thanks.md","filePath":"guide/docker/docker_thanks.md","lastUpdated":1719133423000}'),o={name:"guide/docker/docker_thanks.md"},n=a('

致谢

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/rustdesk/rustdesk

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 和 @CoiaPrant 提供的Docker指导

',21),h=[n];function p(c,s,i,l,u,d){return e(),t("div",null,h)}const b=r(o,[["render",p]]);export{m as __pageData,b as default}; +import{_ as r,v as e,b as t,R as a}from"./chunks/framework.70afa331.js";const m=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/docker/docker_thanks.md","filePath":"guide/docker/docker_thanks.md","lastUpdated":1719133454000}'),o={name:"guide/docker/docker_thanks.md"},n=a('

致谢

https://hub.docker.com/_/debian

https://hub.docker.com/r/redroid/redroid

https://github.com/NetrisTV/ws-scrcpy

https://guacamole.apache.org/doc/gug/introduction.html

https://blog.imoeq.com/oracle-arm-run-android-by-docker

https://blog.imoeq.com/scrcpy-run-a-android-web-page

https://github.com/NetrisTV/ws-scrcpy

https://www.howtoforge.com/how-to-install-apache-guacamole-as-docker-container-on-ubuntu/

https://releases.hashicorp.com/vagrant/

https://github.com/hashicorp/vagrant/

https://app.vagrantup.com/peru

https://medium.com/axon-technologies/installing-a-windows-virtual-machine-in-a-linux-docker-container-c78e4c3f9ba1

https://forum.garudalinux.org/t/error-while-attempting-to-create-a-virtual-machine-with-virt-manager/18534/4

https://github.com/jlesage/docker-firefox

https://github.com/linuxserver/docker-webtop

https://github.com/rustdesk/rustdesk

https://github.com/yoursunny/ndpresponder

https://github.com/linuxserver/docker-chromium

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 和 @CoiaPrant 提供的Docker指导

',21),h=[n];function p(c,s,i,l,u,d){return e(),t("div",null,h)}const b=r(o,[["render",p]]);export{m as __pageData,b as default}; diff --git a/assets/guide_incus_incus_custom.md.33b064f6.js b/assets/guide_incus_incus_custom.md.05cc68c1.js similarity index 99% rename from assets/guide_incus_incus_custom.md.33b064f6.js rename to assets/guide_incus_incus_custom.md.05cc68c1.js index 54798fef9..41b130450 100644 --- a/assets/guide_incus_incus_custom.md.33b064f6.js +++ b/assets/guide_incus_incus_custom.md.05cc68c1.js @@ -1,4 +1,4 @@ -import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给incus启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_custom.md","filePath":"guide/incus/incus_custom.md","lastUpdated":1719133423000}'),n={name:"guide/incus/incus_custom.md"},l=a(`

给incus启用官方的web面板进行控制

先查看 incus论坛活跃用户分享的第三方教程

不懂的部分见 给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
+import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给incus启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_custom.md","filePath":"guide/incus/incus_custom.md","lastUpdated":1719133454000}'),n={name:"guide/incus/incus_custom.md"},l=a(`

给incus启用官方的web面板进行控制

先查看 incus论坛活跃用户分享的第三方教程

不懂的部分见 给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/guide_incus_incus_custom.md.33b064f6.lean.js b/assets/guide_incus_incus_custom.md.05cc68c1.lean.js
similarity index 99%
rename from assets/guide_incus_incus_custom.md.33b064f6.lean.js
rename to assets/guide_incus_incus_custom.md.05cc68c1.lean.js
index 54798fef9..41b130450 100644
--- a/assets/guide_incus_incus_custom.md.33b064f6.lean.js
+++ b/assets/guide_incus_incus_custom.md.05cc68c1.lean.js
@@ -1,4 +1,4 @@
-import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给incus启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_custom.md","filePath":"guide/incus/incus_custom.md","lastUpdated":1719133423000}'),n={name:"guide/incus/incus_custom.md"},l=a(`

给incus启用官方的web面板进行控制

先查看 incus论坛活跃用户分享的第三方教程

不懂的部分见 给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
+import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给incus启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_custom.md","filePath":"guide/incus/incus_custom.md","lastUpdated":1719133454000}'),n={name:"guide/incus/incus_custom.md"},l=a(`

给incus启用官方的web面板进行控制

先查看 incus论坛活跃用户分享的第三方教程

不懂的部分见 给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/guide_incus_incus_extra_config.md.02395c70.js b/assets/guide_incus_incus_extra_config.md.afcc013d.js
similarity index 99%
rename from assets/guide_incus_incus_extra_config.md.02395c70.js
rename to assets/guide_incus_incus_extra_config.md.afcc013d.js
index 1af834fe9..4de0d96f9 100644
--- a/assets/guide_incus_incus_extra_config.md.02395c70.js
+++ b/assets/guide_incus_incus_extra_config.md.afcc013d.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_extra_config.md","filePath":"guide/incus/incus_extra_config.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为incus创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_extra_config.md","filePath":"guide/incus/incus_extra_config.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为incus创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_incus_incus_extra_config.md.02395c70.lean.js b/assets/guide_incus_incus_extra_config.md.afcc013d.lean.js
similarity index 99%
rename from assets/guide_incus_incus_extra_config.md.02395c70.lean.js
rename to assets/guide_incus_incus_extra_config.md.afcc013d.lean.js
index 1af834fe9..4de0d96f9 100644
--- a/assets/guide_incus_incus_extra_config.md.02395c70.lean.js
+++ b/assets/guide_incus_incus_extra_config.md.afcc013d.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_extra_config.md","filePath":"guide/incus/incus_extra_config.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为incus创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_extra_config.md","filePath":"guide/incus/incus_extra_config.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为incus创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_incus_incus_install.md.53141f57.js b/assets/guide_incus_incus_install.md.1bdca540.js
similarity index 99%
rename from assets/guide_incus_incus_install.md.53141f57.js
rename to assets/guide_incus_incus_install.md.1bdca540.js
index 222ff0d4e..557181d04 100644
--- a/assets/guide_incus_incus_install.md.53141f57.js
+++ b/assets/guide_incus_incus_install.md.1bdca540.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_install.md","filePath":"guide/incus/incus_install.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_install.md"},o=l(`

incus主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 20+(推荐),Debian 11+
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

TIP

如果执行到最后卡死超过60秒无日志显示,此时建议通过你服务器的控制面板强行重启服务器,可能安装的最后一步卡死在重启网络那一步了

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_install.md","filePath":"guide/incus/incus_install.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_install.md"},o=l(`

incus主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 20+(推荐),Debian 11+
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

TIP

如果执行到最后卡死超过60秒无日志显示,此时建议通过你服务器的控制面板强行重启服务器,可能安装的最后一步卡死在重启网络那一步了

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装incus

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

sudo -i
 mkdir -p /etc/apt/keyrings/
diff --git a/assets/guide_incus_incus_install.md.53141f57.lean.js b/assets/guide_incus_incus_install.md.1bdca540.lean.js
similarity index 99%
rename from assets/guide_incus_incus_install.md.53141f57.lean.js
rename to assets/guide_incus_incus_install.md.1bdca540.lean.js
index 222ff0d4e..557181d04 100644
--- a/assets/guide_incus_incus_install.md.53141f57.lean.js
+++ b/assets/guide_incus_incus_install.md.1bdca540.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_install.md","filePath":"guide/incus/incus_install.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_install.md"},o=l(`

incus主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 20+(推荐),Debian 11+
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

TIP

如果执行到最后卡死超过60秒无日志显示,此时建议通过你服务器的控制面板强行重启服务器,可能安装的最后一步卡死在重启网络那一步了

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as n,R as l}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"incus主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_install.md","filePath":"guide/incus/incus_install.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_install.md"},o=l(`

incus主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 20+(推荐),Debian 11+
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/incus_install.sh -o incus_install.sh && chmod +x incus_install.sh && bash incus_install.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

TIP

如果执行到最后卡死超过60秒无日志显示,此时建议通过你服务器的控制面板强行重启服务器,可能安装的最后一步卡死在重启网络那一步了

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装incus

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

sudo -i
 mkdir -p /etc/apt/keyrings/
diff --git a/assets/guide_incus_incus_lxc.md.e4353099.js b/assets/guide_incus_incus_lxc.md.835a1aed.js
similarity index 99%
rename from assets/guide_incus_incus_lxc.md.e4353099.js
rename to assets/guide_incus_incus_lxc.md.835a1aed.js
index 0b014372a..a7ec882a1 100644
--- a/assets/guide_incus_incus_lxc.md.e4353099.js
+++ b/assets/guide_incus_incus_lxc.md.835a1aed.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_lxc.md","filePath":"guide/incus/incus_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

这里展示一部分可使用的系统参数供你参考:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (都需要在GRUB中启用CGroupV1否则无法启动,详细介绍见常见问题答疑)
  • kali,archlinux
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错
  • 目前使用的容器系统有三重筛选,优先级:自编译官方清华源
  • 自编译镜像完整的支持系统的列表:https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

版本号中已结束长期维护的一般不再有官方系统镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载脚本

下载开机脚本是非必须的,如果你使用过一键安装incus的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

需要进入容器内部则执行

incus exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
incus stop test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_lxc.md","filePath":"guide/incus/incus_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

这里展示一部分可使用的系统参数供你参考:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (都需要在GRUB中启用CGroupV1否则无法启动,详细介绍见常见问题答疑)
  • kali,archlinux
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错
  • 目前使用的容器系统有三重筛选,优先级:自编译官方清华源
  • 自编译镜像完整的支持系统的列表:https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

版本号中已结束长期维护的一般不再有官方系统镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载脚本

下载开机脚本是非必须的,如果你使用过一键安装incus的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

需要进入容器内部则执行

incus exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
incus stop test
 incus delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/guide_incus_incus_lxc.md.e4353099.lean.js b/assets/guide_incus_incus_lxc.md.835a1aed.lean.js
similarity index 99%
rename from assets/guide_incus_incus_lxc.md.e4353099.lean.js
rename to assets/guide_incus_incus_lxc.md.835a1aed.lean.js
index 0b014372a..a7ec882a1 100644
--- a/assets/guide_incus_incus_lxc.md.e4353099.lean.js
+++ b/assets/guide_incus_incus_lxc.md.835a1aed.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_lxc.md","filePath":"guide/incus/incus_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/incus/incus_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

这里展示一部分可使用的系统参数供你参考:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (都需要在GRUB中启用CGroupV1否则无法启动,详细介绍见常见问题答疑)
  • kali,archlinux
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错
  • 目前使用的容器系统有三重筛选,优先级:自编译官方清华源
  • 自编译镜像完整的支持系统的列表:https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

版本号中已结束长期维护的一般不再有官方系统镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载脚本

下载开机脚本是非必须的,如果你使用过一键安装incus的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

需要进入容器内部则执行

incus exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
incus stop test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_lxc.md","filePath":"guide/incus/incus_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/incus/incus_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

这里展示一部分可使用的系统参数供你参考:

  • debian10,debian11,debian12
  • ubuntu18,ubuntu20,ubuntu22
  • centos8,centos9 (实际开设出来都是Stream版本)
  • alpine3.15,alpine3.16,alpine3.17,alpine3.18
  • openwrt21,openwrt22,fedora37,fedora38,fedora39
  • rockylinux8,rockylinux9,oralce8,oracle9
  • oralce7,centos7 (都需要在GRUB中启用CGroupV1否则无法启动,详细介绍见常见问题答疑)
  • kali,archlinux
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错
  • 目前使用的容器系统有三重筛选,优先级:自编译官方清华源
  • 自编译镜像完整的支持系统的列表:https://github.com/oneclickvirt/incus_images/blob/main/fixed_images.txt

TIP

版本号中已结束长期维护的一般不再有官方系统镜像了,暂时未找到历史镜像的存档地址,如果有找到欢迎留言我会添加支持

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载脚本

下载开机脚本是非必须的,如果你使用过一键安装incus的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian11,注意传入参数为系统名字+版本号

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian11
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian11

需要进入容器内部则执行

incus exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
incus stop test
 incus delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/guide_incus_incus_precheck.md.06fccdff.js b/assets/guide_incus_incus_precheck.md.675277a1.js
similarity index 98%
rename from assets/guide_incus_incus_precheck.md.06fccdff.js
rename to assets/guide_incus_incus_precheck.md.675277a1.js
index 105a80bc5..7b6483413 100644
--- a/assets/guide_incus_incus_precheck.md.06fccdff.js
+++ b/assets/guide_incus_incus_precheck.md.675277a1.js
@@ -1 +1 @@
-import{_ as e,v as t,b as a,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_precheck.md","filePath":"guide/incus/incus_precheck.md","lastUpdated":1719133423000}'),c={name:"guide/incus/incus_precheck.md"},s=i('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',17),r=[s];function l(n,o,p,h,d,u){return t(),a("div",null,r)}const k=e(c,[["render",l]]);export{g as __pageData,k as default}; +import{_ as e,v as t,b as a,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_precheck.md","filePath":"guide/incus/incus_precheck.md","lastUpdated":1719133454000}'),c={name:"guide/incus/incus_precheck.md"},s=i('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',17),r=[s];function l(n,o,p,h,d,u){return t(),a("div",null,r)}const k=e(c,[["render",l]]);export{g as __pageData,k as default}; diff --git a/assets/guide_incus_incus_precheck.md.06fccdff.lean.js b/assets/guide_incus_incus_precheck.md.675277a1.lean.js similarity index 98% rename from assets/guide_incus_incus_precheck.md.06fccdff.lean.js rename to assets/guide_incus_incus_precheck.md.675277a1.lean.js index 105a80bc5..7b6483413 100644 --- a/assets/guide_incus_incus_precheck.md.06fccdff.lean.js +++ b/assets/guide_incus_incus_precheck.md.675277a1.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_precheck.md","filePath":"guide/incus/incus_precheck.md","lastUpdated":1719133423000}'),c={name:"guide/incus/incus_precheck.md"},s=i('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',17),r=[s];function l(n,o,p,h,d,u){return t(),a("div",null,r)}const k=e(c,[["render",l]]);export{g as __pageData,k as default}; +import{_ as e,v as t,b as a,R as i}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_precheck.md","filePath":"guide/incus/incus_precheck.md","lastUpdated":1719133454000}'),c={name:"guide/incus/incus_precheck.md"},s=i('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
',17),r=[s];function l(n,o,p,h,d,u){return t(),a("div",null,r)}const k=e(c,[["render",l]]);export{g as __pageData,k as default}; diff --git a/assets/guide_incus_incus_qa.md.7f02f87a.js b/assets/guide_incus_incus_qa.md.1d499a76.js similarity index 97% rename from assets/guide_incus_incus_qa.md.7f02f87a.js rename to assets/guide_incus_incus_qa.md.1d499a76.js index 3e99622ad..ef62cd0b1 100644 --- a/assets/guide_incus_incus_qa.md.7f02f87a.js +++ b/assets/guide_incus_incus_qa.md.1d499a76.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_qa.md","filePath":"guide/incus/incus_qa.md","lastUpdated":1719133423000}'),o={name:"guide/incus/incus_qa.md"},r=t('

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

',13),n=[r];function p(c,i,l,d,u,h){return e(),s("div",null,n)}const g=a(o,[["render",p]]);export{f as __pageData,g as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_qa.md","filePath":"guide/incus/incus_qa.md","lastUpdated":1719133454000}'),o={name:"guide/incus/incus_qa.md"},r=t('

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

',13),n=[r];function p(c,i,l,d,u,h){return e(),s("div",null,n)}const g=a(o,[["render",p]]);export{f as __pageData,g as default}; diff --git a/assets/guide_incus_incus_qa.md.7f02f87a.lean.js b/assets/guide_incus_incus_qa.md.1d499a76.lean.js similarity index 97% rename from assets/guide_incus_incus_qa.md.7f02f87a.lean.js rename to assets/guide_incus_incus_qa.md.1d499a76.lean.js index 3e99622ad..ef62cd0b1 100644 --- a/assets/guide_incus_incus_qa.md.7f02f87a.lean.js +++ b/assets/guide_incus_incus_qa.md.1d499a76.lean.js @@ -1 +1 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_qa.md","filePath":"guide/incus/incus_qa.md","lastUpdated":1719133423000}'),o={name:"guide/incus/incus_qa.md"},r=t('

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

',13),n=[r];function p(c,i,l,d,u,h){return e(),s("div",null,n)}const g=a(o,[["render",p]]);export{f as __pageData,g as default}; +import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/incus/incus_qa.md","filePath":"guide/incus/incus_qa.md","lastUpdated":1719133454000}'),o={name:"guide/incus/incus_qa.md"},r=t('

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

',13),n=[r];function p(c,i,l,d,u,h){return e(),s("div",null,n)}const g=a(o,[["render",p]]);export{f as __pageData,g as default}; diff --git a/assets/guide_incus_incus_thanks.md.5edeab41.js b/assets/guide_incus_incus_thanks.md.aa316315.js similarity index 96% rename from assets/guide_incus_incus_thanks.md.5edeab41.js rename to assets/guide_incus_incus_thanks.md.aa316315.js index e717db359..29f4ec2d4 100644 --- a/assets/guide_incus_incus_thanks.md.5edeab41.js +++ b/assets/guide_incus_incus_thanks.md.aa316315.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/incus/incus_thanks.md","filePath":"guide/incus/incus_thanks.md","lastUpdated":1719133423000}'),n={name:"guide/incus/incus_thanks.md"},a=s('

致谢

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),i=[a];function o(c,p,h,u,l,d){return r(),e("div",null,i)}const b=t(n,[["render",o]]);export{f as __pageData,b as default}; +import{_ as t,v as r,b as e,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/incus/incus_thanks.md","filePath":"guide/incus/incus_thanks.md","lastUpdated":1719133454000}'),n={name:"guide/incus/incus_thanks.md"},a=s('

致谢

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),i=[a];function o(c,p,h,u,l,d){return r(),e("div",null,i)}const b=t(n,[["render",o]]);export{f as __pageData,b as default}; diff --git a/assets/guide_incus_incus_thanks.md.5edeab41.lean.js b/assets/guide_incus_incus_thanks.md.aa316315.lean.js similarity index 96% rename from assets/guide_incus_incus_thanks.md.5edeab41.lean.js rename to assets/guide_incus_incus_thanks.md.aa316315.lean.js index e717db359..29f4ec2d4 100644 --- a/assets/guide_incus_incus_thanks.md.5edeab41.lean.js +++ b/assets/guide_incus_incus_thanks.md.aa316315.lean.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/incus/incus_thanks.md","filePath":"guide/incus/incus_thanks.md","lastUpdated":1719133423000}'),n={name:"guide/incus/incus_thanks.md"},a=s('

致谢

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),i=[a];function o(c,p,h,u,l,d){return r(),e("div",null,i)}const b=t(n,[["render",o]]);export{f as __pageData,b as default}; +import{_ as t,v as r,b as e,R as s}from"./chunks/framework.70afa331.js";const f=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/incus/incus_thanks.md","filePath":"guide/incus/incus_thanks.md","lastUpdated":1719133454000}'),n={name:"guide/incus/incus_thanks.md"},a=s('

致谢

https://github.com/lxc/lxd

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://github.com/zabbly/incus

',10),i=[a];function o(c,p,h,u,l,d){return r(),e("div",null,i)}const b=t(n,[["render",o]]);export{f as __pageData,b as default}; diff --git a/assets/guide_lxd_lxd_custom.md.ef3c0232.js b/assets/guide_lxd_lxd_custom.md.6d233e17.js similarity index 99% rename from assets/guide_lxd_lxd_custom.md.ef3c0232.js rename to assets/guide_lxd_lxd_custom.md.6d233e17.js index e289c91ab..a09e8492c 100644 --- a/assets/guide_lxd_lxd_custom.md.ef3c0232.js +++ b/assets/guide_lxd_lxd_custom.md.6d233e17.js @@ -1,4 +1,4 @@ -import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给lxd启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_custom.md","filePath":"guide/lxd/lxd_custom.md","lastUpdated":1719133423000}'),n={name:"guide/lxd/lxd_custom.md"},l=a(`

给lxd启用官方的web面板进行控制

给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
+import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给lxd启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_custom.md","filePath":"guide/lxd/lxd_custom.md","lastUpdated":1719133454000}'),n={name:"guide/lxd/lxd_custom.md"},l=a(`

给lxd启用官方的web面板进行控制

给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/guide_lxd_lxd_custom.md.ef3c0232.lean.js b/assets/guide_lxd_lxd_custom.md.6d233e17.lean.js
similarity index 99%
rename from assets/guide_lxd_lxd_custom.md.ef3c0232.lean.js
rename to assets/guide_lxd_lxd_custom.md.6d233e17.lean.js
index e289c91ab..a09e8492c 100644
--- a/assets/guide_lxd_lxd_custom.md.ef3c0232.lean.js
+++ b/assets/guide_lxd_lxd_custom.md.6d233e17.lean.js
@@ -1,4 +1,4 @@
-import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给lxd启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_custom.md","filePath":"guide/lxd/lxd_custom.md","lastUpdated":1719133423000}'),n={name:"guide/lxd/lxd_custom.md"},l=a(`

给lxd启用官方的web面板进行控制

给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
+import{_ as t,v as e,b as s,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"给lxd启用官方的web面板进行控制","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_custom.md","filePath":"guide/lxd/lxd_custom.md","lastUpdated":1719133454000}'),n={name:"guide/lxd/lxd_custom.md"},l=a(`

给lxd启用官方的web面板进行控制

给机房的Ubuntu22.04安装LXD共享GPU资源-配置web 部分的内容

给宿主机附加免费的IPV6地址段

有的机器本身没有IPV6的/64子网,这里给出一个方法免费附加IPV6的子网。

这里是使用6in4方法解决宿主机本身没有IPV6地址的问题。

TIP

本页面的操作务必在原始系统上操作,保证未使用本项目的其他脚本安装环境(除了PVE,PVE需要先安装好),否则可能导致环境冲突

以下是2023年目前还在运行的免费提供IPV6子网的平台

支持的平台对应需要的安装包协议通道/子网数量
tunnelbroker.netifupdown 或 ifupdown2v4tunnel 或 sit3✖/64 或 5✖/64
tunnelbroker.chifupdown 或 ifupdown2v4tunnel 或 sit3✖/64
ip4market.ruifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
netassist.uaifupdown 或 ifupdown2v4tunnel 或 sit1✖/64
https://github.com/oneclickvirt/6in4ifupdown2sit、gre、ipip自定义

免费的平台只解决IPV6有没有的问题,不提供优质的IPV6带宽。

如需优质的带宽,请自建隧道,当ifupdown和ifupdown2都可时,先尝试ifupdown是否可安装成功,否则就安装ifupdown2.

安装完毕后,安装了哪个包后面就选择哪个包进行格式转换。

初始环境修改

执行

touch /etc/cloud/cloud-init.disabled

关闭cloud-init的自动化覆写先,然后查看本机使用什么管理网络,执行

systemctl is-active systemd-networkd

systemctl is-active networking

看看属于哪种情况,如果是前者active,后者inactive,你需要重装/DD一个不是这样配置的系统,或者切换本机使用ifupdown/ifupdown2管理网络

# 是否需要禁用原网络管理自行评判
 # systemctl stop systemd-networkd
 # systemctl disable systemd-networkd
 # systemctl stop systemd-networkd.socket
diff --git a/assets/guide_lxd_lxd_extra_config.md.42a5570e.js b/assets/guide_lxd_lxd_extra_config.md.48b186fc.js
similarity index 99%
rename from assets/guide_lxd_lxd_extra_config.md.42a5570e.js
rename to assets/guide_lxd_lxd_extra_config.md.48b186fc.js
index c3ff7c649..6cb8402ac 100644
--- a/assets/guide_lxd_lxd_extra_config.md.42a5570e.js
+++ b/assets/guide_lxd_lxd_extra_config.md.48b186fc.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_extra_config.md","filePath":"guide/lxd/lxd_extra_config.md","lastUpdated":1719133423000}'),p={name:"guide/lxd/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_extra_config.md","filePath":"guide/lxd/lxd_extra_config.md","lastUpdated":1719133454000}'),p={name:"guide/lxd/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_lxd_lxd_extra_config.md.42a5570e.lean.js b/assets/guide_lxd_lxd_extra_config.md.48b186fc.lean.js
similarity index 99%
rename from assets/guide_lxd_lxd_extra_config.md.42a5570e.lean.js
rename to assets/guide_lxd_lxd_extra_config.md.48b186fc.lean.js
index c3ff7c649..6cb8402ac 100644
--- a/assets/guide_lxd_lxd_extra_config.md.42a5570e.lean.js
+++ b/assets/guide_lxd_lxd_extra_config.md.48b186fc.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_extra_config.md","filePath":"guide/lxd/lxd_extra_config.md","lastUpdated":1719133423000}'),p={name:"guide/lxd/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"其他自定义配置","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_extra_config.md","filePath":"guide/lxd/lxd_extra_config.md","lastUpdated":1719133454000}'),p={name:"guide/lxd/lxd_extra_config.md"},o=n(`

其他自定义配置

TIP

以下的配置安装会加重宿主机的负担,非必要不要安装

TIP

如果是个人使用,可忽略防滥用部分脚本的安装

自动配置IPV6地址

  • (非必须,不使用的也没问题)
  • 该脚本仅适用于宿主机有给IPV6子网且是至少/112的,且宿主机绑定了子网的第一个IP宿主机的IPV6地址或IPV6的gateway
  • 自动为LXD创建的LXC容器配置IPV6地址
  • 已集成到buildone.sh中可使用变量控制且无需事先下载,该脚本可不手动使用,在使用buildone.sh时配置Y开启即可

下载脚本

国际

bash
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -o build_ipv6_network.sh && chmod +x build_ipv6_network.sh

自动为容器配置IPV6映射地址(默认不使用iptables进行映射)

bash
bash build_ipv6_network.sh 容器名称

映射完毕会打印信息

示例(给test容器自动配置IPV6地址,配置完成会写入一个test_v6的文件信息)

bash
bash build_ipv6_network.sh test

PS:增加ipv6处理过程中可选择是否使用ip6tables进行映射,默认不使用ip6tables方式进行映射而使用新增网络设备的方式进行映射

使用ip6tables进行映射

bash
bash build_ipv6_network.sh 容器名称 Y

若使用了ip6tables进行映射,则删除所有IPV6已映射的规则可用:

bash
ip6tables -t nat -F PREROUTING
 ip6tables-legacy -t nat -F PREROUTING
 ip6tables-save > /etc/iptables/rules.v6
 netfilter-persistent save
diff --git a/assets/guide_lxd_lxd_install.md.a0de469b.js b/assets/guide_lxd_lxd_install.md.5c2d2ef2.js
similarity index 99%
rename from assets/guide_lxd_lxd_install.md.a0de469b.js
rename to assets/guide_lxd_lxd_install.md.5c2d2ef2.js
index e749935db..b91bd005c 100644
--- a/assets/guide_lxd_lxd_install.md.a0de469b.js
+++ b/assets/guide_lxd_lxd_install.md.5c2d2ef2.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_install.md","filePath":"guide/lxd/lxd_install.md","lastUpdated":1719133423000}'),n={name:"guide/lxd/lxd_install.md"},o=p(`

LXD主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_install.md","filePath":"guide/lxd/lxd_install.md","lastUpdated":1719133454000}'),n={name:"guide/lxd/lxd_install.md"},o=p(`

LXD主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
diff --git a/assets/guide_lxd_lxd_install.md.a0de469b.lean.js b/assets/guide_lxd_lxd_install.md.5c2d2ef2.lean.js
similarity index 99%
rename from assets/guide_lxd_lxd_install.md.a0de469b.lean.js
rename to assets/guide_lxd_lxd_install.md.5c2d2ef2.lean.js
index e749935db..b91bd005c 100644
--- a/assets/guide_lxd_lxd_install.md.a0de469b.lean.js
+++ b/assets/guide_lxd_lxd_install.md.5c2d2ef2.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_install.md","filePath":"guide/lxd/lxd_install.md","lastUpdated":1719133423000}'),n={name:"guide/lxd/lxd_install.md"},o=p(`

LXD主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXD主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_install.md","filePath":"guide/lxd/lxd_install.md","lastUpdated":1719133454000}'),n={name:"guide/lxd/lxd_install.md"},o=p(`

LXD主体安装

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

一键安装

WARNING

如果是全新的服务器,务必保证apt updateapt install curl都无问题再执行本脚本。建议预装btrfs-progs以加速后续的安装流程,安装后建议重启系统以加载设置,若未预安装也没问题,只需按照提示执行脚本即可。

TIP

且自开机起最好等待5分钟后再执行以下命令,避免系统默认设置中就执行了本脚本导致apt源卡死

  • 环境要求:Ubuntu 18+(推荐),Debian 8+(仅限x86_64架构)
  • 这里的虚拟内存是说要开的SWAP大小,存储池则是你所有要开的服务器占的盘的大小的总和
  • 环境安装过程后需要重启服务器以加载一些默认配置
  • 默认启用lxd的lxcfs相关配置,使得容器内查询容器信息变更为容器本身的信息而不是宿主机信息

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/lxdinstall.sh -o lxdinstall.sh && chmod +x lxdinstall.sh && bash lxdinstall.sh

初始化配置的例子:

如果系统盘除去已占用空间还有18G硬盘空余,想开2G虚拟内存(2048MB的SWAP),15G的存储池,按照命令行的提示则依次输入204815

手动安装

新手推荐,避免有bug不知道怎么修,当然如果只是图方便又是老手懂排查BUG,用上面的一键安装也行

关闭防火墙

bash
apt update
 apt install curl wget sudo dos2unix ufw jq -y
 ufw disable

开设虚拟内存SWAP

内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
diff --git a/assets/guide_lxd_lxd_lxc.md.c575e7f1.js b/assets/guide_lxd_lxd_lxc.md.c086aeb1.js
similarity index 99%
rename from assets/guide_lxd_lxd_lxc.md.c575e7f1.js
rename to assets/guide_lxd_lxd_lxc.md.c086aeb1.js
index cbb40c74f..6a63ddae0 100644
--- a/assets/guide_lxd_lxd_lxc.md.c575e7f1.js
+++ b/assets/guide_lxd_lxd_lxc.md.c086aeb1.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_lxc.md","filePath":"guide/lxd/lxd_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/lxd/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian12,注意传入参数为系统名字+版本号,如:

  • debian12,debian13
  • ubuntu22,ubuntu24
  • centos8,centos9 (实际都是Stream版本)
  • alpine3.16,alpine3.17,alpine3.18,alpine3.19
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

需要进入容器内部则执行

lxc exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
lxc stop test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_lxc.md","filePath":"guide/lxd/lxd_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/lxd/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian12,注意传入参数为系统名字+版本号,如:

  • debian12,debian13
  • ubuntu22,ubuntu24
  • centos8,centos9 (实际都是Stream版本)
  • alpine3.16,alpine3.17,alpine3.18,alpine3.19
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

需要进入容器内部则执行

lxc exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
lxc stop test
 lxc delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/guide_lxd_lxd_lxc.md.c575e7f1.lean.js b/assets/guide_lxd_lxd_lxc.md.c086aeb1.lean.js
similarity index 99%
rename from assets/guide_lxd_lxd_lxc.md.c575e7f1.lean.js
rename to assets/guide_lxd_lxd_lxc.md.c086aeb1.lean.js
index cbb40c74f..6a63ddae0 100644
--- a/assets/guide_lxd_lxd_lxc.md.c575e7f1.lean.js
+++ b/assets/guide_lxd_lxd_lxc.md.c086aeb1.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_lxc.md","filePath":"guide/lxd/lxd_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/lxd/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian12,注意传入参数为系统名字+版本号,如:

  • debian12,debian13
  • ubuntu22,ubuntu24
  • centos8,centos9 (实际都是Stream版本)
  • alpine3.16,alpine3.17,alpine3.18,alpine3.19
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

需要进入容器内部则执行

lxc exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
lxc stop test
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const d=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_lxc.md","filePath":"guide/lxd/lxd_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/lxd/lxd_lxc.md"},o=n(`

LXC虚拟化

单独生成一个NAT服务器

  • 只生成一个NAT服务器,可自定义限制所有内容

下载开机脚本是非必须的,如果你使用过一键安装LXD的命令,自动已下载对应的开机脚本,不需要重复下载该脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -o buildone.sh && chmod +x buildone.sh && dos2unix buildone.sh

使用方法

./buildone.sh 服务器名称 CPU核数 内存大小 硬盘大小 SSH端口 外网起端口 外网止端口 下载速度 上传速度 是否启用IPV6(Y or N) 系统(留空则为debian11)

CPU核数需要小于或等于宿主机的核数,内存大小以MB计算,硬盘大小以GB计算,下载速度上传速度以Mbit计算,是否启用IPV6不一定要填Y或者N,没有这个参数也行,留空默认不开启IPV6

如果外网起端口外网止端口都设置为0则不做区间外网端口映射了,只映射基础的SSH端口,注意不能为空,不进行映射需要设置为0

支持自定义服务器的系统,不填写留空时默认使用debian12,注意传入参数为系统名字+版本号,如:

  • debian12,debian13
  • ubuntu22,ubuntu24
  • centos8,centos9 (实际都是Stream版本)
  • alpine3.16,alpine3.17,alpine3.18,alpine3.19
  • 注意都是小写字母+数字的组合或仅小写字母,自行尝试,如果搜索无该系统则会自动退出脚本
  • 版本号可以带英文小数点,为了适配alpine的版本号已支持
  • 开不起来的可能是硬盘或内存不够大或者本身就不适配宿主机,自行尝试查看开不起来的报错

示例

以下为开设的示例服务器的信息:

属性
服务器名字test
SSH登录的用户名root
SSH登录的密码随机生成
CPU核数1
内存大小256MB
磁盘大小2G
内外网映射端口一致的区间20002到20025
上传带宽500Mbit
下载带宽500Mbit
自动设置外网IPV6地址N
系统debian12
./buildone.sh test 1 256 2 20001 20002 20025 500 500 N debian12

需要进入容器内部则执行

lxc exec test /bin/bash

退出则输入exit回车即可

需要查看信息则执行

shell
cat 服务器名字

比如查询示例的信息就是

shell
cat test

如果已通过以上方法生成过服务器,还需要批量生成服务器,可使用自定义批量生成版本的脚本,但注意先删除测试服务器再进行批量生成服务器

删除测试服务器

shell
lxc stop test
 lxc delete test
 rm -rf test
 rm -rf test_v6
diff --git a/assets/guide_lxd_lxd_precheck.md.c45ff16b.js b/assets/guide_lxd_lxd_precheck.md.5565b67b.js
similarity index 98%
rename from assets/guide_lxd_lxd_precheck.md.c45ff16b.js
rename to assets/guide_lxd_lxd_precheck.md.5565b67b.js
index 2613c2e08..bee5c5f0b 100644
--- a/assets/guide_lxd_lxd_precheck.md.c45ff16b.js
+++ b/assets/guide_lxd_lxd_precheck.md.5565b67b.js
@@ -1 +1 @@
-import{_ as e,v as t,b as a,R as l}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_precheck.md","filePath":"guide/lxd/lxd_precheck.md","lastUpdated":1719133423000}'),i={name:"guide/lxd/lxd_precheck.md"},r=l('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',17),c=[r];function s(o,p,n,d,h,u){return t(),a("div",null,c)}const k=e(i,[["render",s]]);export{g as __pageData,k as default}; +import{_ as e,v as t,b as a,R as l}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_precheck.md","filePath":"guide/lxd/lxd_precheck.md","lastUpdated":1719133454000}'),i={name:"guide/lxd/lxd_precheck.md"},r=l('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',17),c=[r];function s(o,p,n,d,h,u){return t(),a("div",null,c)}const k=e(i,[["render",s]]);export{g as __pageData,k as default}; diff --git a/assets/guide_lxd_lxd_precheck.md.c45ff16b.lean.js b/assets/guide_lxd_lxd_precheck.md.5565b67b.lean.js similarity index 98% rename from assets/guide_lxd_lxd_precheck.md.c45ff16b.lean.js rename to assets/guide_lxd_lxd_precheck.md.5565b67b.lean.js index 2613c2e08..bee5c5f0b 100644 --- a/assets/guide_lxd_lxd_precheck.md.c45ff16b.lean.js +++ b/assets/guide_lxd_lxd_precheck.md.5565b67b.lean.js @@ -1 +1 @@ -import{_ as e,v as t,b as a,R as l}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_precheck.md","filePath":"guide/lxd/lxd_precheck.md","lastUpdated":1719133423000}'),i={name:"guide/lxd/lxd_precheck.md"},r=l('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',17),c=[r];function s(o,p,n,d,h,u){return t(),a("div",null,c)}const k=e(i,[["render",s]]);export{g as __pageData,k as default}; +import{_ as e,v as t,b as a,R as l}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_precheck.md","filePath":"guide/lxd/lxd_precheck.md","lastUpdated":1719133454000}'),i={name:"guide/lxd/lxd_precheck.md"},r=l('

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
',17),c=[r];function s(o,p,n,d,h,u){return t(),a("div",null,c)}const k=e(i,[["render",s]]);export{g as __pageData,k as default}; diff --git a/assets/guide_lxd_lxd_qa.md.2a493c77.js b/assets/guide_lxd_lxd_qa.md.9f89cdb5.js similarity index 98% rename from assets/guide_lxd_lxd_qa.md.2a493c77.js rename to assets/guide_lxd_lxd_qa.md.9f89cdb5.js index d24f7837f..0c732f42d 100644 --- a/assets/guide_lxd_lxd_qa.md.2a493c77.js +++ b/assets/guide_lxd_lxd_qa.md.9f89cdb5.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_qa.md","filePath":"guide/lxd/lxd_qa.md","lastUpdated":1719133423000}'),l={name:"guide/lxd/lxd_qa.md"},o=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_qa.md","filePath":"guide/lxd/lxd_qa.md","lastUpdated":1719133454000}'),l={name:"guide/lxd/lxd_qa.md"},o=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销

`,18),p=[o];function n(r,c,i,d,u,h){return e(),s("div",null,p)}const m=a(l,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/guide_lxd_lxd_qa.md.2a493c77.lean.js b/assets/guide_lxd_lxd_qa.md.9f89cdb5.lean.js similarity index 98% rename from assets/guide_lxd_lxd_qa.md.2a493c77.lean.js rename to assets/guide_lxd_lxd_qa.md.9f89cdb5.lean.js index d24f7837f..0c732f42d 100644 --- a/assets/guide_lxd_lxd_qa.md.2a493c77.lean.js +++ b/assets/guide_lxd_lxd_qa.md.9f89cdb5.lean.js @@ -1,2 +1,2 @@ -import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_qa.md","filePath":"guide/lxd/lxd_qa.md","lastUpdated":1719133423000}'),l={name:"guide/lxd/lxd_qa.md"},o=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
+import{_ as a,v as e,b as s,R as t}from"./chunks/framework.70afa331.js";const _=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/lxd/lxd_qa.md","filePath":"guide/lxd/lxd_qa.md","lastUpdated":1719133454000}'),l={name:"guide/lxd/lxd_qa.md"},o=t(`

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
 export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销

`,18),p=[o];function n(r,c,i,d,u,h){return e(),s("div",null,p)}const m=a(l,[["render",n]]);export{_ as __pageData,m as default}; diff --git a/assets/guide_lxd_lxd_thanks.md.bf90dd4e.js b/assets/guide_lxd_lxd_thanks.md.8872b160.js similarity index 97% rename from assets/guide_lxd_lxd_thanks.md.bf90dd4e.js rename to assets/guide_lxd_lxd_thanks.md.8872b160.js index 626c36767..729bc2702 100644 --- a/assets/guide_lxd_lxd_thanks.md.bf90dd4e.js +++ b/assets/guide_lxd_lxd_thanks.md.8872b160.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd/lxd_thanks.md","filePath":"guide/lxd/lxd_thanks.md","lastUpdated":1719133423000}'),s={name:"guide/lxd/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

感谢 @Ella-Alinda @fscarmen 提供的指导

',12),o=[n];function i(p,l,c,h,d,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd/lxd_thanks.md","filePath":"guide/lxd/lxd_thanks.md","lastUpdated":1719133454000}'),s={name:"guide/lxd/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

感谢 @Ella-Alinda @fscarmen 提供的指导

',12),o=[n];function i(p,l,c,h,d,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/guide_lxd_lxd_thanks.md.bf90dd4e.lean.js b/assets/guide_lxd_lxd_thanks.md.8872b160.lean.js similarity index 97% rename from assets/guide_lxd_lxd_thanks.md.bf90dd4e.lean.js rename to assets/guide_lxd_lxd_thanks.md.8872b160.lean.js index 626c36767..729bc2702 100644 --- a/assets/guide_lxd_lxd_thanks.md.bf90dd4e.lean.js +++ b/assets/guide_lxd_lxd_thanks.md.8872b160.lean.js @@ -1 +1 @@ -import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd/lxd_thanks.md","filePath":"guide/lxd/lxd_thanks.md","lastUpdated":1719133423000}'),s={name:"guide/lxd/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

感谢 @Ella-Alinda @fscarmen 提供的指导

',12),o=[n];function i(p,l,c,h,d,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; +import{_ as t,v as r,b as e,R as a}from"./chunks/framework.70afa331.js";const g=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/lxd/lxd_thanks.md","filePath":"guide/lxd/lxd_thanks.md","lastUpdated":1719133454000}'),s={name:"guide/lxd/lxd_thanks.md"},n=a('

致谢

https://github.com/lxc/lxd

https://lxdware.com/

https://discuss.linuxcontainers.org/

https://discuss.linuxcontainers.org/t/how-to-run-docker-inside-lxc-container/13017/4

https://discuss.linuxcontainers.org/t/error-seccomp-notify-not-supported-on-container-start/15038/3

https://discuss.linuxcontainers.org/t/how-do-i-assign-a-public-ipv6-address-to-a-lxc-container/6028

https://github.com/turtle0x1/LxdMosaic

https://openzfs.github.io/openzfs-docs/Getting Started/Debian/index.html

https://github.com/SuperManito/LinuxMirrors

https://images.opsmaru.dev/

感谢 @Ella-Alinda @fscarmen 提供的指导

',12),o=[n];function i(p,l,c,h,d,u){return r(),e("div",null,o)}const x=t(s,[["render",i]]);export{g as __pageData,x as default}; diff --git a/assets/guide_pve_pve_custom.md.ff53ea5e.js b/assets/guide_pve_pve_custom.md.73f7af65.js similarity index 99% rename from assets/guide_pve_pve_custom.md.ff53ea5e.js rename to assets/guide_pve_pve_custom.md.73f7af65.js index 1d5126609..abf9a8081 100644 --- a/assets/guide_pve_pve_custom.md.ff53ea5e.js +++ b/assets/guide_pve_pve_custom.md.73f7af65.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"自定义分区","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_custom.md","filePath":"guide/pve/pve_custom.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_custom.md"},l=n(`

自定义分区

在非Debian系统上安装 Proxmox VE 7

本机硬件配置的最低要求同先前正常安装的要求一致

需要先安装docker

curl -sSL https://get.docker.com/ | sh
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"自定义分区","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_custom.md","filePath":"guide/pve/pve_custom.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_custom.md"},l=n(`

自定义分区

在非Debian系统上安装 Proxmox VE 7

本机硬件配置的最低要求同先前正常安装的要求一致

需要先安装docker

curl -sSL https://get.docker.com/ | sh
 curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version

然后使用uname -m查询架构,使用对应架构的命令

开设出的PVE面板信息为:

登录用户名和密码都是root,登录后务必使用web的SSH更改密码以免被爆破

用宿主机SSH时务必登录对应https://IPV4地址:8006在web面板上使用SSH,不要使用宿主机的22端口操控PVE

因为web面板上的SSH是在Docker内的,所以不支持后续的一键配置,请自行配置网关等进行使用

X86架构

bash
docker run -idt --network host \\
diff --git a/assets/guide_pve_pve_custom.md.ff53ea5e.lean.js b/assets/guide_pve_pve_custom.md.73f7af65.lean.js
similarity index 99%
rename from assets/guide_pve_pve_custom.md.ff53ea5e.lean.js
rename to assets/guide_pve_pve_custom.md.73f7af65.lean.js
index 1d5126609..abf9a8081 100644
--- a/assets/guide_pve_pve_custom.md.ff53ea5e.lean.js
+++ b/assets/guide_pve_pve_custom.md.73f7af65.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"自定义分区","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_custom.md","filePath":"guide/pve/pve_custom.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_custom.md"},l=n(`

自定义分区

在非Debian系统上安装 Proxmox VE 7

本机硬件配置的最低要求同先前正常安装的要求一致

需要先安装docker

curl -sSL https://get.docker.com/ | sh
+import{_ as s,v as a,b as e,R as n}from"./chunks/framework.70afa331.js";const h=JSON.parse('{"title":"自定义分区","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_custom.md","filePath":"guide/pve/pve_custom.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_custom.md"},l=n(`

自定义分区

在非Debian系统上安装 Proxmox VE 7

本机硬件配置的最低要求同先前正常安装的要求一致

需要先安装docker

curl -sSL https://get.docker.com/ | sh
 curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-$(uname -m)" -o /usr/local/bin/docker-compose
 chmod +x /usr/local/bin/docker-compose
 docker-compose --version

然后使用uname -m查询架构,使用对应架构的命令

开设出的PVE面板信息为:

登录用户名和密码都是root,登录后务必使用web的SSH更改密码以免被爆破

用宿主机SSH时务必登录对应https://IPV4地址:8006在web面板上使用SSH,不要使用宿主机的22端口操控PVE

因为web面板上的SSH是在Docker内的,所以不支持后续的一键配置,请自行配置网关等进行使用

X86架构

bash
docker run -idt --network host \\
diff --git a/assets/guide_pve_pve_install.md.6d0144f0.js b/assets/guide_pve_pve_install.md.5f546455.js
similarity index 99%
rename from assets/guide_pve_pve_install.md.6d0144f0.js
rename to assets/guide_pve_pve_install.md.5f546455.js
index 2b4c82edf..6b3a09825 100644
--- a/assets/guide_pve_pve_install.md.6d0144f0.js
+++ b/assets/guide_pve_pve_install.md.5f546455.js
@@ -1 +1 @@
-import{_ as s,v as l,b as a,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_install.md","filePath":"guide/pve/pve_install.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_install.md"},o=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

',38),t=[o];function n(c,i,r,d,h,C){return l(),a("div",null,t)}const v=s(p,[["render",n]]);export{u as __pageData,v as default}; +import{_ as s,v as l,b as a,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_install.md","filePath":"guide/pve/pve_install.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_install.md"},o=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

',38),t=[o];function n(c,i,r,d,h,C){return l(),a("div",null,t)}const v=s(p,[["render",n]]);export{u as __pageData,v as default}; diff --git a/assets/guide_pve_pve_install.md.6d0144f0.lean.js b/assets/guide_pve_pve_install.md.5f546455.lean.js similarity index 99% rename from assets/guide_pve_pve_install.md.6d0144f0.lean.js rename to assets/guide_pve_pve_install.md.5f546455.lean.js index 2b4c82edf..6b3a09825 100644 --- a/assets/guide_pve_pve_install.md.6d0144f0.lean.js +++ b/assets/guide_pve_pve_install.md.5f546455.lean.js @@ -1 +1 @@ -import{_ as s,v as l,b as a,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_install.md","filePath":"guide/pve/pve_install.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_install.md"},o=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

',38),t=[o];function n(c,i,r,d,h,C){return l(),a("div",null,t)}const v=s(p,[["render",n]]);export{u as __pageData,v as default}; +import{_ as s,v as l,b as a,R as e}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"PVE主体安装","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_install.md","filePath":"guide/pve/pve_install.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_install.md"},o=e('

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

',38),t=[o];function n(c,i,r,d,h,C){return l(),a("div",null,t)}const v=s(p,[["render",n]]);export{u as __pageData,v as default}; diff --git a/assets/guide_pve_pve_kvm.md.9e538c0b.js b/assets/guide_pve_pve_kvm.md.d09847ba.js similarity index 99% rename from assets/guide_pve_pve_kvm.md.9e538c0b.js rename to assets/guide_pve_pve_kvm.md.d09847ba.js index dd9bcd11a..2b84989e8 100644 --- a/assets/guide_pve_pve_kvm.md.9e538c0b.js +++ b/assets/guide_pve_pve_kvm.md.d09847ba.js @@ -1,4 +1,4 @@ -import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_kvm.md","filePath":"guide/pve/pve_kvm.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_kvm.md"},o=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

默认支持用户名root登录,默认的root密码是passwordoneclickvirt,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://cdn.spiritlhl.net/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设带IPV6地址的KVM虚拟机的注意事项

由于长期闲置IPV6不使用可能导致NDP广播缓存失效重置,一般闲置50分钟左右就会出现IPV6不可用的情况,俗称“IPV6断流”,此时需要设置一个定时任务

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

在开设出的虚拟机中执行上述命令,可保证IPV6网络一直被使用,不会失效断流

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

以及

https://github.com/oneclickvirt/pve_kvm_images

仓库的Release中存储的每日修补镜像

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是/64的子网

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

各参数含义

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6地址(留空默认N)

TIP

注意这里的密码最好仅英文与数字混合,且以英文开头,避免密码在设置过程中因为特殊字符被转义而设置失败

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

以下为开设的示例VM的信息:

属性
VMID102
SSH登录的用户名test1
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小10G
SSH端口40001
80端口40002
443端口40003
内外网映射端口一致的区间50000到50025
系统debian11
宿主机的存储盘local
绑定独立IPV6(留空默认N)N

删除指定虚拟机

  • 停止VM
  • 删除VM
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应VMID的虚拟机,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个VMID即可,可一次性删除多个

批量开设NAT的KVM虚拟化的虚拟机

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成VM
  • 自动开设NAT服务器,选项留空默认使用debian11镜像,可自定义使用镜像名字,支持的系统名字详见上文支持的镜像列表
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloudinit配置好网络以及登陆信息,大概需要5分钟,每个虚拟机创建之间有间隔等待60秒避免突发性能不足
  • 默认批量开设的虚拟机网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

开设完毕可执行cat vmlog查看信息,或到WEB端对应VM的NOTES中查看

删除所有虚拟机

  • 删除所有VM
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_kvm.md","filePath":"guide/pve/pve_kvm.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_kvm.md"},o=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

默认支持用户名root登录,默认的root密码是passwordoneclickvirt,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://cdn.spiritlhl.net/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设带IPV6地址的KVM虚拟机的注意事项

由于长期闲置IPV6不使用可能导致NDP广播缓存失效重置,一般闲置50分钟左右就会出现IPV6不可用的情况,俗称“IPV6断流”,此时需要设置一个定时任务

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

在开设出的虚拟机中执行上述命令,可保证IPV6网络一直被使用,不会失效断流

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

以及

https://github.com/oneclickvirt/pve_kvm_images

仓库的Release中存储的每日修补镜像

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是/64的子网

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

各参数含义

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6地址(留空默认N)

TIP

注意这里的密码最好仅英文与数字混合,且以英文开头,避免密码在设置过程中因为特殊字符被转义而设置失败

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

以下为开设的示例VM的信息:

属性
VMID102
SSH登录的用户名test1
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小10G
SSH端口40001
80端口40002
443端口40003
内外网映射端口一致的区间50000到50025
系统debian11
宿主机的存储盘local
绑定独立IPV6(留空默认N)N

删除指定虚拟机

  • 停止VM
  • 删除VM
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应VMID的虚拟机,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个VMID即可,可一次性删除多个

批量开设NAT的KVM虚拟化的虚拟机

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成VM
  • 自动开设NAT服务器,选项留空默认使用debian11镜像,可自定义使用镜像名字,支持的系统名字详见上文支持的镜像列表
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloudinit配置好网络以及登陆信息,大概需要5分钟,每个虚拟机创建之间有间隔等待60秒避免突发性能不足
  • 默认批量开设的虚拟机网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

开设完毕可执行cat vmlog查看信息,或到WEB端对应VM的NOTES中查看

删除所有虚拟机

  • 删除所有VM
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
 iptables -t nat -F
 iptables -t filter -F
 service networking restart
diff --git a/assets/guide_pve_pve_kvm.md.9e538c0b.lean.js b/assets/guide_pve_pve_kvm.md.d09847ba.lean.js
similarity index 99%
rename from assets/guide_pve_pve_kvm.md.9e538c0b.lean.js
rename to assets/guide_pve_pve_kvm.md.d09847ba.lean.js
index dd9bcd11a..2b84989e8 100644
--- a/assets/guide_pve_pve_kvm.md.9e538c0b.lean.js
+++ b/assets/guide_pve_pve_kvm.md.d09847ba.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_kvm.md","filePath":"guide/pve/pve_kvm.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_kvm.md"},o=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

默认支持用户名root登录,默认的root密码是passwordoneclickvirt,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://cdn.spiritlhl.net/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设带IPV6地址的KVM虚拟机的注意事项

由于长期闲置IPV6不使用可能导致NDP广播缓存失效重置,一般闲置50分钟左右就会出现IPV6不可用的情况,俗称“IPV6断流”,此时需要设置一个定时任务

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

在开设出的虚拟机中执行上述命令,可保证IPV6网络一直被使用,不会失效断流

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

以及

https://github.com/oneclickvirt/pve_kvm_images

仓库的Release中存储的每日修补镜像

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是/64的子网

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

各参数含义

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6地址(留空默认N)

TIP

注意这里的密码最好仅英文与数字混合,且以英文开头,避免密码在设置过程中因为特殊字符被转义而设置失败

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

以下为开设的示例VM的信息:

属性
VMID102
SSH登录的用户名test1
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小10G
SSH端口40001
80端口40002
443端口40003
内外网映射端口一致的区间50000到50025
系统debian11
宿主机的存储盘local
绑定独立IPV6(留空默认N)N

删除指定虚拟机

  • 停止VM
  • 删除VM
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应VMID的虚拟机,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个VMID即可,可一次性删除多个

批量开设NAT的KVM虚拟化的虚拟机

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成VM
  • 自动开设NAT服务器,选项留空默认使用debian11镜像,可自定义使用镜像名字,支持的系统名字详见上文支持的镜像列表
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloudinit配置好网络以及登陆信息,大概需要5分钟,每个虚拟机创建之间有间隔等待60秒避免突发性能不足
  • 默认批量开设的虚拟机网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

开设完毕可执行cat vmlog查看信息,或到WEB端对应VM的NOTES中查看

删除所有虚拟机

  • 删除所有VM
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const A=JSON.parse('{"title":"KVM虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_kvm.md","filePath":"guide/pve/pve_kvm.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_kvm.md"},o=n(`

KVM虚拟化

SSH登录说明

KVM虚拟化开设出的虚拟机,默认生成的用户名不是root,你需要执行sudo -i切换为root用户

默认支持用户名root登录,默认的root密码是passwordoneclickvirt,你也可以先试试

登录SSH切换为root权限后,一定要修改root密码,可以使用以下命令修改

国际

bash
bash <(curl -sSL https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

国内

bash
bash <(curl -sSL https://cdn.spiritlhl.net/https://raw.githubusercontent.com/fscarmen/tools/main/root.sh) [PASSWORD]

部分注意事项

执行本项目的检测环境的命令,展示如下

图片

查询如上的只需使用下面的一键脚本自动创建虚拟机即可,无需手动再修改WEB端设置

图片

查询如上的在使用后续脚本创建了虚拟机后,可能需要手动修改WEB端设置,需要关闭对应每个虚拟机的硬件嵌套虚拟化,如下图

图片

先停止虚拟机再修改,修改完后再开机才能使用NOVNC,不关闭可能导致这个虚拟机有BUG无法使用

如果强行安装PVE开KVM,启动不了的也可以关闭这个选项试试能不能启动虚拟机

TIP

开设虚拟机前请使用screen挂起执行,避免开设时间过长,SSH不稳定导致中间执行中断

开设带IPV6地址的KVM虚拟机的注意事项

由于长期闲置IPV6不使用可能导致NDP广播缓存失效重置,一般闲置50分钟左右就会出现IPV6不可用的情况,俗称“IPV6断流”,此时需要设置一个定时任务

shell
echo '*/1 * * * * curl -m 6 -s ipv6.ip.sb || curl -m 6 -s ipv6.ip.sb' | crontab -

在开设出的虚拟机中执行上述命令,可保证IPV6网络一直被使用,不会失效断流

开设KVM虚拟机可使用的镜像

  • 已预安装开启cloudinit
  • 开启SSH登陆
  • 预设置SSH监听V4和V6的22端口
  • 开启允许密码验证登陆
  • 开启允许root登陆
  • 部分预安装Qemu-guest-agent

目前可使用的镜像名字的列表为

https://github.com/oneclickvirt/kvm_images/blob/main/list.text

以及

https://github.com/oneclickvirt/pve_kvm_images

仓库的Release中存储的每日修补镜像

单独开设NAT的KVM虚拟化的虚拟机

  • 自动开设NAT服务器,默认使用Debian10镜像,因为该镜像占用最小
  • 可在命令中自定义需要使用的镜像,这里有给出配置好的镜像,镜像自带空间设置是2~10G硬盘,日常使用至少10G以上即可,除非某些镜像开不起来再增加硬盘大小
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 自定义内存大小推荐512MB内存
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloud-init配置好网络以及登陆信息,大概需要5分钟
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是/64的子网

使用方法

  • 系统支持:
    • x86_64架构的详见 跳转 中列出的系统,使用时只需写文件名字,不需要.qcow2尾缀
    • arm架构的详见 跳转 中列出的系统,使用时只需要写系统名字+系统版本号,如ubuntu20、ubutnu22这种

TIP

注意这里的用户名不能是纯数字,会造成cloudinit出问题,最好是纯英文或英文开头

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm.sh -o buildvm.sh && chmod +x buildvm.sh

各参数含义

shell
./buildvm.sh VMID 用户名 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6地址(留空默认N)

TIP

注意这里的密码最好仅英文与数字混合,且以英文开头,避免密码在设置过程中因为特殊字符被转义而设置失败

测试示例

shell
./buildvm.sh 102 test1 oneclick123 1 512 10 40001 40002 40003 50000 50025 debian11 local N

开设完毕可执行cat vm102查看信息,或到WEB端对应VM的NOTES中查看

以下为开设的示例VM的信息:

属性
VMID102
SSH登录的用户名test1
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小10G
SSH端口40001
80端口40002
443端口40003
内外网映射端口一致的区间50000到50025
系统debian11
宿主机的存储盘local
绑定独立IPV6(留空默认N)N

删除指定虚拟机

  • 停止VM
  • 删除VM
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应VMID的虚拟机,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个VMID即可,可一次性删除多个

批量开设NAT的KVM虚拟化的虚拟机

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成VM
  • 自动开设NAT服务器,选项留空默认使用debian11镜像,可自定义使用镜像名字,支持的系统名字详见上文支持的镜像列表
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部的cloudinit配置好网络以及登陆信息,大概需要5分钟,每个虚拟机创建之间有间隔等待60秒避免突发性能不足
  • 默认批量开设的虚拟机网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 虚拟机的相关信息将会存储到WEB端对应VM的NOTES中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_vm.sh -o create_vm.sh && chmod +x create_vm.sh && bash create_vm.sh

开设完毕可执行cat vmlog查看信息,或到WEB端对应VM的NOTES中查看

删除所有虚拟机

  • 删除所有VM
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
for vmid in $(qm list | awk '{if(NR>1) print $1}'); do qm stop $vmid; qm destroy $vmid; rm -rf /var/lib/vz/images/$vmid*; done
 iptables -t nat -F
 iptables -t filter -F
 service networking restart
diff --git a/assets/guide_pve_pve_lxc.md.feb12f6c.js b/assets/guide_pve_pve_lxc.md.23922f65.js
similarity index 99%
rename from assets/guide_pve_pve_lxc.md.feb12f6c.js
rename to assets/guide_pve_pve_lxc.md.23922f65.js
index 76412b420..71bd8106f 100644
--- a/assets/guide_pve_pve_lxc.md.feb12f6c.js
+++ b/assets/guide_pve_pve_lxc.md.23922f65.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_lxc.md","filePath":"guide/pve/pve_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

x86_64:

自动修补镜像:https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

每日自动拉取进行编译和修补

手动修补镜像: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

其中的部分镜像有缺陷,不保证所有PVE可用,名字为 ubuntu16.04debian6centos7opensuse42.2opensuse42.3 非必要不要使用。

执行pveam available --section system查看官方可用的系统名字和版本号

优先级:自修补镜像(Proxmox-VE 5及其以下版本不支持) > 官方默认镜像(都支持)

已通过脚本自动识别版本使用对应镜像

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

可在上面的文件中查看支持的系统,其中列出的debian和ubuntu系统不要使用里面的别名,使用数字代号即可。

TIP

系统参数一律是小写的系统名字拼接版本号,如:debian11,ubuntu22等。 (自修补镜像支持一些偏门系统,如 centos6、centos7、debian8、debian9 等)

所有系统的CT默认用户名是root

TIP

当然有时候会存在特殊情况,version可能是current/base,此时系统参数仅使用英文系统名字即可,如 archlinux、gentoo、kali。

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

各参数含义

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6(默认为N)

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

以下为开设的示例CT的信息:

属性
VMID102
SSH登录的用户名root
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小5G
SSH端口20001
80端口20002
443端口20003
内外网映射端口一致的区间30000到30025
系统debian11
宿主机的存储盘local
IPV6

删除指定容器

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应CTID的容器,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个CTID即可,可一次性删除多个

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_lxc.md","filePath":"guide/pve/pve_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

x86_64:

自动修补镜像:https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

每日自动拉取进行编译和修补

手动修补镜像: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

其中的部分镜像有缺陷,不保证所有PVE可用,名字为 ubuntu16.04debian6centos7opensuse42.2opensuse42.3 非必要不要使用。

执行pveam available --section system查看官方可用的系统名字和版本号

优先级:自修补镜像(Proxmox-VE 5及其以下版本不支持) > 官方默认镜像(都支持)

已通过脚本自动识别版本使用对应镜像

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

可在上面的文件中查看支持的系统,其中列出的debian和ubuntu系统不要使用里面的别名,使用数字代号即可。

TIP

系统参数一律是小写的系统名字拼接版本号,如:debian11,ubuntu22等。 (自修补镜像支持一些偏门系统,如 centos6、centos7、debian8、debian9 等)

所有系统的CT默认用户名是root

TIP

当然有时候会存在特殊情况,version可能是current/base,此时系统参数仅使用英文系统名字即可,如 archlinux、gentoo、kali。

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

各参数含义

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6(默认为N)

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

以下为开设的示例CT的信息:

属性
VMID102
SSH登录的用户名root
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小5G
SSH端口20001
80端口20002
443端口20003
内外网映射端口一致的区间30000到30025
系统debian11
宿主机的存储盘local
IPV6

删除指定容器

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应CTID的容器,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个CTID即可,可一次性删除多个

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
 rm -rf ct*
 iptables -t nat -F
 iptables -t filter -F
diff --git a/assets/guide_pve_pve_lxc.md.feb12f6c.lean.js b/assets/guide_pve_pve_lxc.md.23922f65.lean.js
similarity index 99%
rename from assets/guide_pve_pve_lxc.md.feb12f6c.lean.js
rename to assets/guide_pve_pve_lxc.md.23922f65.lean.js
index 76412b420..71bd8106f 100644
--- a/assets/guide_pve_pve_lxc.md.feb12f6c.lean.js
+++ b/assets/guide_pve_pve_lxc.md.23922f65.lean.js
@@ -1,4 +1,4 @@
-import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_lxc.md","filePath":"guide/pve/pve_lxc.md","lastUpdated":1719133423000}'),p={name:"guide/pve/pve_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

x86_64:

自动修补镜像:https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

每日自动拉取进行编译和修补

手动修补镜像: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

其中的部分镜像有缺陷,不保证所有PVE可用,名字为 ubuntu16.04debian6centos7opensuse42.2opensuse42.3 非必要不要使用。

执行pveam available --section system查看官方可用的系统名字和版本号

优先级:自修补镜像(Proxmox-VE 5及其以下版本不支持) > 官方默认镜像(都支持)

已通过脚本自动识别版本使用对应镜像

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

可在上面的文件中查看支持的系统,其中列出的debian和ubuntu系统不要使用里面的别名,使用数字代号即可。

TIP

系统参数一律是小写的系统名字拼接版本号,如:debian11,ubuntu22等。 (自修补镜像支持一些偏门系统,如 centos6、centos7、debian8、debian9 等)

所有系统的CT默认用户名是root

TIP

当然有时候会存在特殊情况,version可能是current/base,此时系统参数仅使用英文系统名字即可,如 archlinux、gentoo、kali。

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

各参数含义

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6(默认为N)

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

以下为开设的示例CT的信息:

属性
VMID102
SSH登录的用户名root
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小5G
SSH端口20001
80端口20002
443端口20003
内外网映射端口一致的区间30000到30025
系统debian11
宿主机的存储盘local
IPV6

删除指定容器

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应CTID的容器,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个CTID即可,可一次性删除多个

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
+import{_ as s,v as a,b as l,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"LXC虚拟化","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_lxc.md","filePath":"guide/pve/pve_lxc.md","lastUpdated":1719133454000}'),p={name:"guide/pve/pve_lxc.md"},o=n(`

LXC虚拟化

开设LXC容器可使用的镜像

x86_64:

自动修补镜像:https://github.com/oneclickvirt/lxc_amd64_images/blob/main/fixed_images.txt

TIP

每日自动拉取进行编译和修补

手动修补镜像: https://github.com/oneclickvirt/pve_lxc_images/blob/main/fixed_images.txt

TIP

其中的部分镜像有缺陷,不保证所有PVE可用,名字为 ubuntu16.04debian6centos7opensuse42.2opensuse42.3 非必要不要使用。

执行pveam available --section system查看官方可用的系统名字和版本号

优先级:自修补镜像(Proxmox-VE 5及其以下版本不支持) > 官方默认镜像(都支持)

已通过脚本自动识别版本使用对应镜像

arm:

https://github.com/oneclickvirt/lxc_arm_images/blob/main/fixed_images.txt

可在上面的文件中查看支持的系统,其中列出的debian和ubuntu系统不要使用里面的别名,使用数字代号即可。

TIP

系统参数一律是小写的系统名字拼接版本号,如:debian11,ubuntu22等。 (自修补镜像支持一些偏门系统,如 centos6、centos7、debian8、debian9 等)

所有系统的CT默认用户名是root

TIP

当然有时候会存在特殊情况,version可能是current/base,此时系统参数仅使用英文系统名字即可,如 archlinux、gentoo、kali。

单独开设LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 自动开设NAT服务器,默认使用Debian11镜像,也可自定义系统
  • 自动进行内外网端口映射,含22,80,443端口以及其他25个内外网端口号一样的端口
  • 生成后需要等待一段时间虚拟机内部配置好网络以及登陆信息,大概需要3分钟
  • 默认开设的网络配置为:22,80,443端口及一个25个端口区间的内外网映射
  • 可自定义开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 可在命令中指定存储盘位置,默认不指定时为local盘即系统盘,可指定为PVE中显示的挂载盘
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct.sh -o buildct.sh && chmod +x buildct.sh

各参数含义

shell
./buildct.sh CTID 密码 CPU核数 内存 硬盘 SSH端口 80端口 443端口 外网端口起 外网端口止 系统 存储盘 独立IPV6(默认为N)

测试示例

shell
./buildct.sh 102 oneclick123 1 512 5 20001 20002 20003 30000 30025 debian11 local N

开设完毕可执行cat ct102查看信息,或在web端的NOTES查看

以下为开设的示例CT的信息:

属性
VMID102
SSH登录的用户名root
SSH登录的密码oneclick123
CPU核数1
内存大小512MB
磁盘大小5G
SSH端口20001
80端口20002
443端口20003
内外网映射端口一致的区间30000到30025
系统debian11
宿主机的存储盘local
IPV6

删除指定容器

  • 停止CT
  • 删除CT
  • 删除端口映射
  • 重启网络
  • 删除log文件

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/pve_delete.sh -o pve_delete.sh && chmod +x pve_delete.sh

使用方法

可以删除对应CTID的容器,这里用上文中的示例102做演示

shell
./pve_delete.sh 102

实际删除数量不固定,空格分隔每个CTID即可,可一次性删除多个

批量开设NAT的LXC虚拟化的CT

WARNING

初次使用前需要保证当前PVE纯净且宿主机未进行过任何端口映射,否则设置冲突可能出现BUG

TIP

开设前请使用screen挂起执行,避免批量开设时间过长,SSH不稳定导致中间执行中断

  • 可多次运行批量生成CT容器,但需要注意的是宿主机内存记得开点swap免得机器炸了开SWAP点我跳转
  • 每个容器创建之间有间隔等待60秒避免突发性能不足
  • 可自定义批量开设的核心数,内存大小,硬盘大小,使用宿主机哪个存储盘,记得自己计算好空闲资源开设
  • 开设的CT默认已启用SSH且允许root登陆,且已设置支持使用docker的嵌套虚拟化
  • 容器的相关信息将会存储到对应的容器的NOTE中,可在WEB端查看
  • 如果宿主机自带IPV6子网将自动附加上IPV6网络,但无公网IPV6地址
  • 可选择是否开启独立IPV6,需要宿主机至少有一个/104的子网,最好是一个/64子网

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/create_ct.sh -o create_ct.sh && chmod +x create_ct.sh && bash create_ct.sh

开设完毕可执行cat ctlog查看信息,或在web端的NOTES查看

删除所有CT

  • 删除所有CT
  • 删除所有nat的端口映射
  • 重启网络
  • 删除log文件
shell
pct list | awk 'NR>1{print $1}' | xargs -I {} sh -c 'pct stop {}; pct destroy {}'
 rm -rf ct*
 iptables -t nat -F
 iptables -t filter -F
diff --git a/assets/guide_pve_pve_precheck.md.528df7f7.js b/assets/guide_pve_pve_precheck.md.18b73d8d.js
similarity index 99%
rename from assets/guide_pve_pve_precheck.md.528df7f7.js
rename to assets/guide_pve_pve_precheck.md.18b73d8d.js
index 2f41f329c..fd12858e1 100644
--- a/assets/guide_pve_pve_precheck.md.528df7f7.js
+++ b/assets/guide_pve_pve_precheck.md.18b73d8d.js
@@ -1,3 +1,3 @@
-import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_precheck.md","filePath":"guide/pve/pve_precheck.md","lastUpdated":1719133423000}'),n={name:"guide/pve/pve_precheck.md"},e=p(`

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

WARNING

会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/pve

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

不要在动态IP的服务器上使用本套脚本(重启机器后自动切换本机IP的服务器暂不支持,重启机器后IP不自动切换的支持)

本项目的一键安装脚本只适配Debian系统,非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装,或使用自定义分区和常见问题分区中的其他方式解决问题。

  • 系统要求:Debian 8+

TIP

建议debian12而不是debian11,debian11在部分独立服务器上有网络重启的BUG。

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

如果使用IPV6隧道进行宿主机的IPV6子网附加,务必在PVE安装成功但网关未自动设置时在对应文件添加内容,不要在一开始(未安装PVE)就进行IPV6隧道的添加。

开设虚拟内存(SWAP)

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用incus

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_precheck.md","filePath":"guide/pve/pve_precheck.md","lastUpdated":1719133454000}'),n={name:"guide/pve/pve_precheck.md"},e=p(`

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

WARNING

会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/pve

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

不要在动态IP的服务器上使用本套脚本(重启机器后自动切换本机IP的服务器暂不支持,重启机器后IP不自动切换的支持)

本项目的一键安装脚本只适配Debian系统,非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装,或使用自定义分区和常见问题分区中的其他方式解决问题。

  • 系统要求:Debian 8+

TIP

建议debian12而不是debian11,debian11在部分独立服务器上有网络重启的BUG。

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

如果使用IPV6隧道进行宿主机的IPV6子网附加,务必在PVE安装成功但网关未自动设置时在对应文件添加内容,不要在一开始(未安装PVE)就进行IPV6隧道的添加。

开设虚拟内存(SWAP)

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用incus

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
 rm -rf /usr/local/bin/pve_last_ipv6*


`,31),o=[e];function t(c,r,i,C,h,d){return a(),l("div",null,o)}const A=s(n,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/guide_pve_pve_precheck.md.528df7f7.lean.js b/assets/guide_pve_pve_precheck.md.18b73d8d.lean.js similarity index 99% rename from assets/guide_pve_pve_precheck.md.528df7f7.lean.js rename to assets/guide_pve_pve_precheck.md.18b73d8d.lean.js index 2f41f329c..fd12858e1 100644 --- a/assets/guide_pve_pve_precheck.md.528df7f7.lean.js +++ b/assets/guide_pve_pve_precheck.md.18b73d8d.lean.js @@ -1,3 +1,3 @@ -import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_precheck.md","filePath":"guide/pve/pve_precheck.md","lastUpdated":1719133423000}'),n={name:"guide/pve/pve_precheck.md"},e=p(`

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

WARNING

会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/pve

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

不要在动态IP的服务器上使用本套脚本(重启机器后自动切换本机IP的服务器暂不支持,重启机器后IP不自动切换的支持)

本项目的一键安装脚本只适配Debian系统,非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装,或使用自定义分区和常见问题分区中的其他方式解决问题。

  • 系统要求:Debian 8+

TIP

建议debian12而不是debian11,debian11在部分独立服务器上有网络重启的BUG。

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

如果使用IPV6隧道进行宿主机的IPV6子网附加,务必在PVE安装成功但网关未自动设置时在对应文件添加内容,不要在一开始(未安装PVE)就进行IPV6隧道的添加。

开设虚拟内存(SWAP)

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用incus

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*
+import{_ as s,v as a,b as l,R as p}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"前言","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_precheck.md","filePath":"guide/pve/pve_precheck.md","lastUpdated":1719133454000}'),n={name:"guide/pve/pve_precheck.md"},e=p(`

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

WARNING

会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/pve

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

不要在动态IP的服务器上使用本套脚本(重启机器后自动切换本机IP的服务器暂不支持,重启机器后IP不自动切换的支持)

本项目的一键安装脚本只适配Debian系统,非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装,或使用自定义分区和常见问题分区中的其他方式解决问题。

  • 系统要求:Debian 8+

TIP

建议debian12而不是debian11,debian11在部分独立服务器上有网络重启的BUG。

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

如果使用IPV6隧道进行宿主机的IPV6子网附加,务必在PVE安装成功但网关未自动设置时在对应文件添加内容,不要在一开始(未安装PVE)就进行IPV6隧道的添加。

开设虚拟内存(SWAP)

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用incus

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
 rm -rf /usr/local/bin/pve_last_ipv6*


`,31),o=[e];function t(c,r,i,C,h,d){return a(),l("div",null,o)}const A=s(n,[["render",t]]);export{D as __pageData,A as default}; diff --git a/assets/guide_pve_pve_qa.md.90b299b2.js b/assets/guide_pve_pve_qa.md.dd1ccc20.js similarity index 99% rename from assets/guide_pve_pve_qa.md.90b299b2.js rename to assets/guide_pve_pve_qa.md.dd1ccc20.js index db2f0c031..9e9115e06 100644 --- a/assets/guide_pve_pve_qa.md.90b299b2.js +++ b/assets/guide_pve_pve_qa.md.dd1ccc20.js @@ -1,4 +1,4 @@ -import{_ as a,v as s,b as e,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_qa.md","filePath":"guide/pve/pve_qa.md","lastUpdated":1719133423000}'),l={name:"guide/pve/pve_qa.md"},t=n(`

解惑

执行脚本不到30秒机器就掉线了

原装系统执行

systemctl restart networking

看看是不是直接掉线,如果是那就是机器原生有问题,热插拔或者dhcp导致的网络无法自重启,此时建议更换宿主机的系统或DD一个新系统尝试

一般来说这种情况都是出现在独服的Debian11系统上,切换为Debian12系统就没问题了

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as s,b as e,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_qa.md","filePath":"guide/pve/pve_qa.md","lastUpdated":1719133454000}'),l={name:"guide/pve/pve_qa.md"},t=n(`

解惑

执行脚本不到30秒机器就掉线了

原装系统执行

systemctl restart networking

看看是不是直接掉线,如果是那就是机器原生有问题,热插拔或者dhcp导致的网络无法自重启,此时建议更换宿主机的系统或DD一个新系统尝试

一般来说这种情况都是出现在独服的Debian11系统上,切换为Debian12系统就没问题了

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/guide_pve_pve_qa.md.90b299b2.lean.js b/assets/guide_pve_pve_qa.md.dd1ccc20.lean.js
similarity index 99%
rename from assets/guide_pve_pve_qa.md.90b299b2.lean.js
rename to assets/guide_pve_pve_qa.md.dd1ccc20.lean.js
index db2f0c031..9e9115e06 100644
--- a/assets/guide_pve_pve_qa.md.90b299b2.lean.js
+++ b/assets/guide_pve_pve_qa.md.dd1ccc20.lean.js
@@ -1,4 +1,4 @@
-import{_ as a,v as s,b as e,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_qa.md","filePath":"guide/pve/pve_qa.md","lastUpdated":1719133423000}'),l={name:"guide/pve/pve_qa.md"},t=n(`

解惑

执行脚本不到30秒机器就掉线了

原装系统执行

systemctl restart networking

看看是不是直接掉线,如果是那就是机器原生有问题,热插拔或者dhcp导致的网络无法自重启,此时建议更换宿主机的系统或DD一个新系统尝试

一般来说这种情况都是出现在独服的Debian11系统上,切换为Debian12系统就没问题了

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
+import{_ as a,v as s,b as e,R as n}from"./chunks/framework.70afa331.js";const D=JSON.parse('{"title":"解惑","description":"","frontmatter":{"outline":"deep"},"headers":[],"relativePath":"guide/pve/pve_qa.md","filePath":"guide/pve/pve_qa.md","lastUpdated":1719133454000}'),l={name:"guide/pve/pve_qa.md"},t=n(`

解惑

执行脚本不到30秒机器就掉线了

原装系统执行

systemctl restart networking

看看是不是直接掉线,如果是那就是机器原生有问题,热插拔或者dhcp导致的网络无法自重启,此时建议更换宿主机的系统或DD一个新系统尝试

一般来说这种情况都是出现在独服的Debian11系统上,切换为Debian12系统就没问题了

安装PVE成功但重启后失联

如果什么机器安装PVE成功后WEB可用,但重启失联,请安装成功PVE后,重启前执行以下命令再重启

bash
auto_interface=$(grep '^auto ' /etc/network/interfaces | grep -v '^auto lo' | awk '{print $2}' | head -n 1)
 if ! grep -q "^post-up /sbin/ethtool" /etc/network/interfaces; then
     chattr -i /etc/network/interfaces
     echo "post-up /sbin/ethtool -K $auto_interface tx off rx off" >> /etc/network/interfaces
diff --git a/assets/guide_pve_pve_thanks.md.c25a64e0.js b/assets/guide_pve_pve_thanks.md.8da71c43.js
similarity index 97%
rename from assets/guide_pve_pve_thanks.md.c25a64e0.js
rename to assets/guide_pve_pve_thanks.md.8da71c43.js
index a9c857f58..1b0f05be0 100644
--- a/assets/guide_pve_pve_thanks.md.c25a64e0.js
+++ b/assets/guide_pve_pve_thanks.md.8da71c43.js
@@ -1 +1 @@
-import{_ as r,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve/pve_thanks.md","filePath":"guide/pve/pve_thanks.md","lastUpdated":1719133423000}'),a={name:"guide/pve/pve_thanks.md"},p=o('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 提供的PVE指导

',16),n=[p];function i(s,h,l,m,c,b){return e(),t("div",null,n)}const f=r(a,[["render",i]]);export{u as __pageData,f as default}; +import{_ as r,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve/pve_thanks.md","filePath":"guide/pve/pve_thanks.md","lastUpdated":1719133454000}'),a={name:"guide/pve/pve_thanks.md"},p=o('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 提供的PVE指导

',16),n=[p];function i(s,h,l,m,c,b){return e(),t("div",null,n)}const f=r(a,[["render",i]]);export{u as __pageData,f as default}; diff --git a/assets/guide_pve_pve_thanks.md.c25a64e0.lean.js b/assets/guide_pve_pve_thanks.md.8da71c43.lean.js similarity index 97% rename from assets/guide_pve_pve_thanks.md.c25a64e0.lean.js rename to assets/guide_pve_pve_thanks.md.8da71c43.lean.js index a9c857f58..1b0f05be0 100644 --- a/assets/guide_pve_pve_thanks.md.c25a64e0.lean.js +++ b/assets/guide_pve_pve_thanks.md.8da71c43.lean.js @@ -1 +1 @@ -import{_ as r,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve/pve_thanks.md","filePath":"guide/pve/pve_thanks.md","lastUpdated":1719133423000}'),a={name:"guide/pve/pve_thanks.md"},p=o('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 提供的PVE指导

',16),n=[p];function i(s,h,l,m,c,b){return e(),t("div",null,n)}const f=r(a,[["render",i]]);export{u as __pageData,f as default}; +import{_ as r,v as e,b as t,R as o}from"./chunks/framework.70afa331.js";const u=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"guide/pve/pve_thanks.md","filePath":"guide/pve/pve_thanks.md","lastUpdated":1719133454000}'),a={name:"guide/pve/pve_thanks.md"},p=o('

致谢

https://forum.proxmox.com/

https://blog.ilolicon.com/archives/615

https://github.com/Ella-Alinda/somescripts/blob/main/nat.sh

https://pve.proxmox.com/pve-docs/qm.1.html

https://down.idc.wiki/Image/realServer-Template/

https://mirrors.tuna.tsinghua.edu.cn/proxmox/

https://github.com/roacn/pve/blob/main/pve.sh

https://github.com/spiritLHLS/lxc

https://github.com/leitbogioro/Tools

https://github.com/jiangcuo/Proxmox-Port

https://gitlab.com/minkebox/pimox

https://github.com/jiangcuo/run_proxmox_in_docker

https://github.com/yoursunny/ndpresponder

https://github.com/SuperManito/LinuxMirrors

感谢 @Ella-Alinda 提供的PVE指导

',16),n=[p];function i(s,h,l,m,c,b){return e(),t("div",null,n)}const f=r(a,[["render",i]]);export{u as __pageData,f as default}; diff --git a/assets/index.md.0a279716.js b/assets/index.md.891be179.js similarity index 96% rename from assets/index.md.0a279716.js rename to assets/index.md.891be179.js index 2b98f01f4..2b90e2575 100644 --- a/assets/index.md.0a279716.js +++ b/assets/index.md.891be179.js @@ -1 +1 @@ -import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"库苏恩","titleTemplate":"一键虚拟化项目","description":"","frontmatter":{"layout":"home","title":"库苏恩","titleTemplate":"一键虚拟化项目","tagline":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键命令安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机或容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu、Centos 等系统的长期维护版本开发,无论是什么系统总有一个方法能让你虚拟化出容器或虚拟机"},{"title":"自带内外网端口转发和IP地址自动分配","details":"自带内外网端口转发和IP地址自动分配(含IPV6、IPV4),含TCP、UDP、VNC、RDP等协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器或虚拟机"},{"title":"多系统多环境支持","details":"开设出的容器或虚拟机已支持主流系统,涵盖 Linux、Android、Windows 系统,也支持纯粹的浏览器环境或桌面环境"},{"title":"自限制滥用","details":"部分虚拟化开设的容器或虚拟机支持设置屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1719133423000}'),i={name:"index.md"};function s(n,d,l,o,r,p){return e(),a("div")}const u=t(i,[["render",s]]);export{c as __pageData,u as default}; +import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"库苏恩","titleTemplate":"一键虚拟化项目","description":"","frontmatter":{"layout":"home","title":"库苏恩","titleTemplate":"一键虚拟化项目","tagline":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键命令安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机或容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu、Centos 等系统的长期维护版本开发,无论是什么系统总有一个方法能让你虚拟化出容器或虚拟机"},{"title":"自带内外网端口转发和IP地址自动分配","details":"自带内外网端口转发和IP地址自动分配(含IPV6、IPV4),含TCP、UDP、VNC、RDP等协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器或虚拟机"},{"title":"多系统多环境支持","details":"开设出的容器或虚拟机已支持主流系统,涵盖 Linux、Android、Windows 系统,也支持纯粹的浏览器环境或桌面环境"},{"title":"自限制滥用","details":"部分虚拟化开设的容器或虚拟机支持设置屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1719133454000}'),i={name:"index.md"};function s(n,d,l,o,r,p){return e(),a("div")}const u=t(i,[["render",s]]);export{c as __pageData,u as default}; diff --git a/assets/index.md.0a279716.lean.js b/assets/index.md.891be179.lean.js similarity index 96% rename from assets/index.md.0a279716.lean.js rename to assets/index.md.891be179.lean.js index 2b98f01f4..2b90e2575 100644 --- a/assets/index.md.0a279716.lean.js +++ b/assets/index.md.891be179.lean.js @@ -1 +1 @@ -import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"库苏恩","titleTemplate":"一键虚拟化项目","description":"","frontmatter":{"layout":"home","title":"库苏恩","titleTemplate":"一键虚拟化项目","tagline":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键命令安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机或容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu、Centos 等系统的长期维护版本开发,无论是什么系统总有一个方法能让你虚拟化出容器或虚拟机"},{"title":"自带内外网端口转发和IP地址自动分配","details":"自带内外网端口转发和IP地址自动分配(含IPV6、IPV4),含TCP、UDP、VNC、RDP等协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器或虚拟机"},{"title":"多系统多环境支持","details":"开设出的容器或虚拟机已支持主流系统,涵盖 Linux、Android、Windows 系统,也支持纯粹的浏览器环境或桌面环境"},{"title":"自限制滥用","details":"部分虚拟化开设的容器或虚拟机支持设置屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1719133423000}'),i={name:"index.md"};function s(n,d,l,o,r,p){return e(),a("div")}const u=t(i,[["render",s]]);export{c as __pageData,u as default}; +import{_ as t,v as e,b as a}from"./chunks/framework.70afa331.js";const c=JSON.parse('{"title":"库苏恩","titleTemplate":"一键虚拟化项目","description":"","frontmatter":{"layout":"home","title":"库苏恩","titleTemplate":"一键虚拟化项目","tagline":"开源、易于使用的服务器虚拟化项目","hero":{"name":"一键虚拟化项目","text":"开源、易于使用的服务器虚拟化项目","image":"https://raw.githubusercontent.com/spiritlhls/pages/main/logo.png","actions":[{"theme":"brand","text":"开始使用 →","link":"/guide/dashboard"}]},"features":[{"title":"一键使用","details":"支持一键命令安装使用,轻松在X86_64和ARM架构的服务器上创建虚拟机或容器"},{"title":"基于主流系统开发","details":"基于 Debian、Ubuntu、Centos 等系统的长期维护版本开发,无论是什么系统总有一个方法能让你虚拟化出容器或虚拟机"},{"title":"自带内外网端口转发和IP地址自动分配","details":"自带内外网端口转发和IP地址自动分配(含IPV6、IPV4),含TCP、UDP、VNC、RDP等协议,无需人工管理"},{"title":"批量虚拟化","details":"支持使用 KVM、LXC、Docker 虚拟化批量开设容器或虚拟机"},{"title":"多系统多环境支持","details":"开设出的容器或虚拟机已支持主流系统,涵盖 Linux、Android、Windows 系统,也支持纯粹的浏览器环境或桌面环境"},{"title":"自限制滥用","details":"部分虚拟化开设的容器或虚拟机支持设置屏蔽和装载限制,避免被用于滥用"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1719133454000}'),i={name:"index.md"};function s(n,d,l,o,r,p){return e(),a("div")}const u=t(i,[["render",s]]);export{c as __pageData,u as default}; diff --git a/case/case1.html b/case/case1.html index 2b5c6b6de..0c142bd50 100644 --- a/case/case1.html +++ b/case/case1.html @@ -11,7 +11,7 @@ - + @@ -21,8 +21,8 @@
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecs

Hits

融合怪测评脚本

支持系统:

Ubuntu 18+, Debian 8+, Centos 7+, Fedora 33+, Almalinux 8.5+, OracleLinux 8+, RockyLinux 8+, AstraLinux CE, Arch

半支持系统:

FreeBSD(前提已执行pkg install -y curl bash),Armbian

Armbian系统部分检测和测试暂不支持,部分会编码错误

FreeBSD系统的硬盘测试和CPU测试目前是半残的,有些东西显示有问题

FreeBSD系统的分享链接的预处理部分sed命令存在问题未删除部分无效内容

支持架构:

基本都支持,无论是本地服务器还是云端服务器

支持地域:

能连得上网都支持

部分服务器运行测试有各类bug一键修复后再测试

一键修复各种系统原生bug的仓库:

https://github.com/spiritLHLS/one-click-installation-script

如若还有系统bug请到上面仓库的issues反映,脚本原生BUG该仓库issues反映

融合怪命令

交互形式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh

bash <(wget -qO- bash.spiritlhl.net/ecs)

bash <(wget -qO- ecs.0s.hk)

bash <(wget -qO- ecs.12345.ing)

无交互形式-参数模式

bash
curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

bash
curl -L https://github.com/spiritLHLS/ecs/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh && bash ecs.sh -m 1

或通过

curl -L https://gitlab.com/spiritysdx/za/-/raw/main/ecs.sh -o ecs.sh && chmod +x ecs.sh

下载文件后使用类似

bash
bash ecs.sh -m 1

这样的参数命令指定选项执行

以下为参数说明:

指令项目说明备注
-m必填项可指定原本menu中的对应选项,最多支持三层选择,例如执行bash ecs.sh -m 5 1 1将选择主菜单第5选项下的第1选项下的子选项1的脚本执行可缺省仅指定一个参数,如-m 1仅指定执行融合怪完全体,执行-m 1 0以及-m 1 0 0都是指定执行融合怪完全体
-en可选项可指定强制输出为英文无该指令则默认使用中文输出
-i可选项可指定回程路由测试中的目标IPV4地址可通过ip.sbipinfo.io等网站获取本地IPV4地址后指定
-r可选项可指定回程路由测试中的目标IPV4地址,可选b g s c 分别对应北京广州上海、成都```-r b指定测试北京回程(三网)
可指定仅测试IPV6三网,可选 b6 g6 s6 分别对应 北京广州上海 的三网的IPV6地址-r b6 指定测试北京IPV6地址回程(三网)
-base可选项可指定仅测试基础的系统信息无该指令则默认按照menu选项的组合测试
-ctype可选项可指定通过何种方式测试cpu,可选gb4gb5gb6分别对应geekbench456版本无该指令则默认使用sysbench测试
-dtype可选项可指定测试硬盘IO的程序,可选ddfio,前者测试快后者测试慢无该指令则默认都使用进行测试
-mdisk可选项可指定测试多个挂载盘的IO注意本指令包含测试系统盘
-stype可选项可指定使用.cn还是.net的数据进行测速无该指令则默认使用.net数据测速优先,不可用时才替换为.cn数据
-bansp可选项可指定强制不测试网速无该指令则默认测试网速
-banup可选项可指定强制不生成分享链接无该指令则默认生成分享链接

IP质量检测

  • IP质量检测,含多家数据库查询,含DNS黑名单查询
  • IPV4IPV6 检测,含ASN和地址查询
  • 含邮件常用协议/端口检测,如果SMTP/SMTPS可用且本地端口开放,则可搭建邮局
bash
bash <(wget -qO- bash.spiritlhl.net/ecs-ipcheck)

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/spiritLHLS/ecs/main/ipcheck.sh)

需要事先安裝dos2unix

bash
wget -qO ipcheck.sh --no-check-certificate https://gitlab.com/spiritysdx/za/-/raw/main/ipcheck.sh
 dos2unix ipcheck.sh
-bash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本,融合怪各项测试均自优化修复过,与原始脚本均不同
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbenchyabs开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢netflix-verifyVerifyDisneyPlusTubeCheck开源,本人整理修改维护CommonMediaTests使用
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改维护oneclickvirt/backtrace使用
  • [x] 回程路由及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人修改优化维护
  • [x] IP质量(含IPV4和IPV6)与邮件端口检测--使用oneclickvirt/securityCheckoneclickvirt/portchecker进行测试,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

- +bash ipcheck.sh

融合怪说明

融合怪脚本最好在 /root 路径下执行,避免各种奇奇怪怪的问题

融合怪的执行结果保存在当前路径下的test_result.txt中,可在screentmux中执行,先退出SSH登录过一段时间后再查看文件

有时候想要测一些配置极其拉跨的机器时,上面这样执行这样可以避免IO或者CPU过于垃圾导致的测试过程中的SSH连接中断,就不会测一半啥都没了,假如screen中显示乱码,也没问题,分享链接中的结果是不带乱码的

融合怪的完整版和精简版运行完毕会自动上传结果到pastebin并回传分享链接,如果测一半想要退出,那么按Ctrl+C同时按下可终止测试,此时会自动退出删除残余文件

最烂机器测试的例子(跑了47分钟一样测完):跳转

使用CDN已支持国内国外加速服务器环境安装和预制文件下载,但国内受CDN连通性或国内机器带宽大小的限制加载可能会慢很多

融合怪测试说明以及部分测试结果的内容解释(初次使用推荐查看):

除了已标注的原创内容,其余所有分区均为借鉴并进行优化修改后的版本,与原始对应的脚本不一样

所有检测都有考虑过使用并行测试,并在部分环节使用了该技术,比正常的顺序执行优化了2~3分钟,属于是独有的,暂无哪家的测试有同类技术

系统基础信息测试融合了多家还有我自己修补的部分检测(systl、NAT类型检测,并发ASN检测等),应该是目前最全面最通用的了

CPU测试默认使用sysbench测试得分,不是yabs的gb4或gb5(虽然默认不是geekbench但可以通过指令指定geekbench常见版本进行测试),前者只是简单的计算质数测试速度快,后者geekbench是综合测试系统算加权得分

使用sysbench测试得分是每秒处理的事件数目,这个指标无论在强还是弱性能的服务器上都能迅速测出来,而geekbench很多是测不动或者速度很慢起码2分半钟

CPU测试单核sysbench得分在5000以上的可以算第一梯队,4000到5000分算第二梯队,每1000分算一档,自己看看自己在哪个档位吧

AMD的7950x单核满血性能得分在6500左右,AMD的5950x单核满血性能得分5700左右,Intel普通的CPU(E5之类的)在1000~800左右,低于500的单核CPU可以说是性能比较烂的了

IO测试收录了两种,来源于lemonbench的dd磁盘测试和yabs的fio磁盘测试,综合来看会比较好,前者可能误差偏大但测试速度快无硬盘大小限制,后者真实一点但测试速度慢有硬盘以及内存大小限制

流媒体测试收录了两种,一个是go编译的二进制文件和一个shell脚本版本,二者各有优劣,互相对比看即可

tiktok测试有superbench和lmc999两种版本,哪个失效了随时可能更新为其中一种版本,以最新的脚本为准

回程路由测试选用的GO编译的二进制版本和朋友PR的版本,本人做了优化适配多个IP列表以及融合部分查询

IP质量检测纯原创,如有bug或者更多数据库来源可在issues中提出,日常看IP2Location数据库的IP类型即可,其中的25端口邮箱可达,则可搭建邮局

融合怪的IP质量检测是简化过的,没有查询Cloudflare的威胁得分,个人原创区的IP质量检测才是完整版(或者仓库说明中列出的那个IP质量检测的命令也是完整版)

三网测速使用自写的测速脚本,尽量使用最新节点最新组件进行测速,且有备用第三方go版本测速内核,做到自更新测速节点列表,自适应系统环境测速

其他第三方脚本归纳到了第三方脚本区,里面有同类型脚本不同作者的各种竞品脚本,如果融合怪不能使你满意或者有错误,可以看看那部分

原创脚本区是个人原创的部分,有事没事也可以看看,可能会更新某些偏门或者独到的脚本

VPS测试,VPS测速,VPS综合性能测试,VPS回程线路测试,VPS流媒体测试等所有测试融合的脚本,本脚本能融合的都融合了

融合怪功能

  • [x] 自由组合测试方向和单项测试以及合集收录第三方脚本,融合怪各项测试均自优化修复过,与原始脚本均不同
  • [x] 基础信息查询--感谢bench.shsuperbench.shyabslemonbench开源,本人整理修改优化,同原版均不一致
  • [x] CPU测试--感谢lemonbenchyabs开源,本人整理修改优化
  • [x] 内存测试--感谢lemonbench开源,本人整理修改优化
  • [x] 磁盘dd读写测试--感谢lemonbench开源,本人整理修改优化
  • [x] 硬盘fio读写测试--感谢yabs开源,本人整理修改优化
  • [x] 御三家流媒体解锁测试--感谢netflix-verifyVerifyDisneyPlusTubeCheck开源,本人整理修改维护CommonMediaTests使用
  • [x] 常用流媒体解锁测试--感谢RegionRestrictionCheck开源,本人整理修改优化
  • [x] Tiktok解锁--感谢TikTokCheck开源,本人整理修改优化
  • [x] 三网回程以及路由延迟--感谢zhanghanyun/backtrace开源,本人整理修改维护oneclickvirt/backtrace使用
  • [x] 回程路由及带宽类型检测(商宽/家宽/数据中心)--由fscarmen的PR以及本人的技术思路提供,本人修改优化维护
  • [x] IP质量(含IPV4和IPV6)与邮件端口检测--使用oneclickvirt/securityCheckoneclickvirt/portchecker进行测试,感谢互联网提供的查询资源
  • [x] speedtest测速--使用自写ecsspeed仓库,自动更新测速服务器ID,一劳永逸解决老是要手动更新测速ID的问题

友链

测评频道

https://t.me/vps_reviews

自动更新测速服务器节点列表的网络基准测试脚本

https://github.com/spiritLHLS/ecsspeed

脚本概况

主界面:

图片

选项1融合怪完全体:

图片图片图片图片图片图片图片

选项6原创区:

图片

+ \ No newline at end of file diff --git a/case/case2.html b/case/case2.html index 27afaf728..521224ad6 100644 --- a/case/case2.html +++ b/case/case2.html @@ -11,7 +11,7 @@ - + @@ -54,8 +54,8 @@ cat .config/code-server/config.yaml

卸载需要

sudo systemctl stop code-server@root
 sudo systemctl disable code-server@root
 rm -rf ~/.cache/coder
-sudo apt remove coder -y
- +sudo apt remove coder -y
+ \ No newline at end of file diff --git a/case/case3.html b/case/case3.html index 2939c8f6b..409a0068a 100644 --- a/case/case3.html +++ b/case/case3.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/ecsspeed

Hits

ecsspeed

自动更新测速服务器节点列表的网络基准测试脚本

Network benchmarking script that automatically updates the list of speed measurement server nodes

说明

所有组件以及数据均来源于平台或已有的开源项目,无非开源部分,放心食用

对应 speedtest.net 的自动更新测速服务器ID的测速脚本

日常推荐使用

bash <(wget -qO- bash.spiritlhl.net/ecs-net)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-net.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-net.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表大概每7天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

当官方CLI安装失败(如罕见的架构或者官方网站访问失败时)自动使用 speedtest-go 作为替代品测速

对应 speedtest.cn 的自动更新测速服务器ID的测速脚本

单线程测速

bash <(wget -qO- bash.spiritlhl.net/ecs-cn)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-cn.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-cn.sh)

支持测速的架构:i386, x86_64, amd64, arm64, s390x, riscv64, ppc64le, ppc64

涵盖中国三大运营商、香港、台湾的测速节点,默认的三网测速每个运营商选择本机ping值最低的两个节点测速,详情三网测速才是全测,节点列表每天自动更新一次。

支持国内服务器测试(有判断是否为国内机器),但由于国内服务器带宽过小,会很慢,详见初次运行的显示

自动更新测试服务器列表的三网延迟测试脚本

平均耗时10~15秒

bash <(wget -qO- bash.spiritlhl.net/ecs-ping)

bash <(wget -qO- --no-check-certificate https://github.com/spiritLHLS/ecsspeed/raw/main/script/ecsspeed-ping.sh)

或国内用

bash <(wget -qO- --no-check-certificate https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/ecsspeed/main/script/ecsspeed-ping.sh)

效果图

图片

功能

  • [x] 自动抓取 speedtest.cn 节点信息结合已有信息去重并更新列表数据
  • [x] 自动抓取 speedtest.net 节点信息结合已有信息去重并更新列表数据
  • [x] 对应 speedtest.net 的自动更新测速服务器列表的测速脚本
  • [x] 对应 speedtest.cn 的自动更新测速服务器列表的测速脚本
  • [x] 自动更新测试服务器列表的三网Ping值测试脚本

.cn数据

仓库:https://github.com/spiritLHLS/speedtest.cn-CN-ID

.net数据

仓库:https://github.com/spiritLHLS/speedtest.net-CN-ID

+ \ No newline at end of file diff --git a/case/case4.html b/case/case4.html index 66f26a9cd..04b7c45db 100644 --- a/case/case4.html +++ b/case/case4.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

- +
Skip to content
On this page

仓库

https://github.com/oneclickvirt/backtrace

Hits

backtrace

三网回程路由线路测试

基于 https://github.com/zhanghanyun/backtrace 的重构和优化,与原版存在很大不同

路由的线路判断最终还是得人工判断的才准确,本项目测试结果仅供参考

功能

  • [x] 检测回程显示IPV4地址时的线路,不显示IP地址时显示ASN检测不到,原版backtrace也支持
  • [x] 支持对48379929163线路的判断,原版backtrace也支持
  • [x] 支持对CN2GTCN2GIA线路的判断,原版backtrace不支持
  • [x] 支持对CMIN2CMI线路的判断,原版backtrace不支持
  • [x] 支持对整个回程路由进行线路分析,与原版backtrace仅进行一次判断不同
  • [x] 修复原版backtrace对IPV4地址信息获取时json解析失败依然打印信息的问题
  • [x] 增加对全平台的编译支持,原版backtrace仅支持linux平台的amd64和arm64架构

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/backtrace/main/backtrace_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/backtrace/releases/tag/output

概览图

图片

图片

图片

+ \ No newline at end of file diff --git a/case/case5.html b/case/case5.html index 3a2a87edd..f040905aa 100644 --- a/case/case5.html +++ b/case/case5.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

- +
Skip to content
On this page

仓库

https://github.com/oneclickvirt/CommonMediaTests

Hits

CommonMediaTests

御三家流媒体解锁测试

基于 netflix-verify VerifyDisneyPlus TubeCheck 整合代码,优化测试速度

功能

  • [x] 双栈测试
  • [x] 并发测试netflix、youtube、disneyplus是否解锁以及解锁的地区
  • [x] 支持双语输出,以-l指定zh或en可指定输出的语言,未指定时默认使用中文输出
  • [x] 全平台编译支持

使用

shell
curl https://raw.githubusercontent.com/oneclickvirt/CommonMediaTests/main/cmt_install.sh -sSf | sh

更多架构请查看 https://github.com/oneclickvirt/CommonMediaTests/releases/tag/output

+ \ No newline at end of file diff --git a/case/case6.html b/case/case6.html index d594bff2b..1f93984aa 100644 --- a/case/case6.html +++ b/case/case6.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/Oracle-server-keep-alive-script

Hits

Oracle-server-keep-alive-script

实际不止可以在甲骨文服务器上使用,也可以使用在任意ARM或X86_64架构的系统,用作资源占用

甲骨文服务器保活脚本

适配系统:已在Ubuntu 20+,Debian 10+, Centos 7+, Oracle linux 8+,AlmaLinux 8.5+

上述系统验证无问题,别的主流系统应该也没有问题

可选占用:CPU,内存,带宽

安装完毕后如果有问题请卸载脚本反馈问题(重复卸载也没问题)

所有资源(除了CPU)可选默认配置则动态占用,实时调整,避免服务器有别的任何资源已经超过限额了仍然再占用资源

为避免GitHub的CDN抽风加载不了新内容,所有新更新已使用Gitlab仓库

由于speedtest-go的release依赖于GitHub,所以请检查 www.githubstatus.com ,有问题时无法安装带宽占用

基础开发完毕,测试中,有问题请在issues中反馈

选项1安装,选项2卸载,选项3更新安装引导脚本,选项4退出脚本

安装过程中无脑回车则全部可选的占用都占用,不需要什么占用输入n再回车

如果选择带宽占用,会询问使用speedtest-go占用还是使用wget占用,按照提示进行选择即可

有询问是否需要带宽占用的参数自定义,这时候默认选项就是n,回车就使用默认配置,输入y再回车则需要按照提示自定义参数

curl -L https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh -o oalive.sh && chmod +x oalive.sh && bash oalive.sh

bash oalive.sh

bash <(wget -qO- --no-check-certificate https://gitlab.com/spiritysdx/Oracle-server-keep-alive-script/-/raw/main/oalive.sh)

说明

  • 提供两种CPU占用模式:DD模拟占用和科学计算模式,用户可以自由选择,占用范围设置在15%至25%之间,更推荐DD模拟占用
  • DD模拟占用在守护进程中设置了CPU占用的最高限制
  • 默认情况下,CPU占用设置为25%最高值,计算方法是核数乘以12%,如果计算结果低于25%,则设置为该值;如果计算结果高于25%,则按照计算结果的比例进行设置。
  • 内存占用设置为占用总内存的20%,占用时间为300秒,休息时间为300秒。
  • 每300秒检测一次内存占用情况,并根据需要动态调整占用大小。如果内存占用已经大于20%,则不增加占用。
  • 在占用过程中,使用守护进程和开机自启服务,以确保占用任务持续且有效。
  • 默认选项的带宽占用每45分钟下载一次大小在1G至10G之间的文件,只进行下载而不保存。在下载过程中会占用硬盘空间,但在下载完成后会自动释放。
  • 默认选项的带宽占用动态调整实际下载的带宽/速率,限制每次下载的最长时长为6分钟。在每次下载之前,会测试最大可用带宽,并根据实时结果将下载速率设置为30%的带宽。
  • 带宽占用测试使用了speedtest-cli和speedtest-go两种工具,以防其中之一不可用时使用第二种工具,用户可以自定义设置带宽占用,此时详见设置提示。
  • 提供一键卸载所有占用服务的选项,卸载将删除所有脚本、服务、任务、守护进程和开机自启设置。
  • 提供一键检查更新的功能,更新范围仅限于脚本更新。请在更新后重新设置占用服务
  • 对所有进程执行增加唯一性检测,避免重复运行,使用PID文件进行判断。

如若不希望一键的,希望自定义设置时间的,请查看README_CRON.md自行设置定时任务

+ \ No newline at end of file diff --git a/case/case7.html b/case/case7.html index 09d1c793a..3bfc20c20 100644 --- a/case/case7.html +++ b/case/case7.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/addswap

addswap

为openvz、kvm虚拟化的linux服务器增加swap分区(虚拟内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

已增加openvz架构重启swap自动添加的

openvz这个添加=掩耳盗铃,实际受到虚拟化限制应该是无法添加的,只能由虚拟化的宿主机控制,同理LXC虚拟化的也只能由宿主机控制,都无法自主添加虚拟内存SWAP

因此,该项目不再更新,除非另有需求

单位换算:输入 1024 产生 1G SWAP内存

致谢

kvm分区原版脚本源自 https://www.moerats.com/

bash
curl -L https://www.moerats.com/usr/shell/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

openVZ分区原版脚本源自

http://linux-problem-solver.blogspot.com/2013/08/create-fake-swap-in-openvz-vps-if-you-get-swapon-failed-operation-not-permitted-error.html

感谢 @fscarmen 提供优化建议

+ \ No newline at end of file diff --git a/case/case8.html b/case/case8.html index c0dd6b554..390a3be7a 100644 --- a/case/case8.html +++ b/case/case8.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

- +
Skip to content
On this page

仓库

https://github.com/spiritLHLS/addzram

addzram

为linux服务器启用zram(压缩内存)

bash
curl -L https://raw.githubusercontent.com/spiritLHLS/addzram/main/addzram.sh -o addzram.sh && chmod +x addzram.sh && bash addzram.sh

类同前面的addswap项目

同样是给机器优化内存占用的东西,只不过zram是压缩内存占用,swap是附加虚拟内存增加内存空间,二者都会占用CPU资源,zram在CPU性能冗余的机器上使用更优

(理论上zram会比swap的性能占用低,但未实际测试过)

单位换算:输入 1024 产生 1G 的 zram 设备压缩内存,zram 设备大小不能大于实际内存大小

致谢

感谢 @Ella-Alinda 提供优化建议

+ \ No newline at end of file diff --git a/case/case9.html b/case/case9.html index 1122ba519..917700494 100644 --- a/case/case9.html +++ b/case/case9.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

- +
Skip to content
On this page

仓库

https://github.com/oneclickvirt/convoypanel-scripts

convoypanel-scripts

One-click installation of convoy panel

Prerequisites for installation:

  • PVE is installed
  • System is debian 11
  • CPU at least 2 cores, hard disk at least 20G, memory at least 4G (memory covers swap)

I don't guarantee that this script is error-free, it's just for my own amusement.

curl -L https://github.com/oneclickvirt/convoypanel-scripts/raw/main/installconvoy.sh -o installconvoy.sh && chmod +x installconvoy.sh && bash installconvoy.sh

Thanks

Base on https://github.com/oneclickvirt/pve

Base on https://docs.convoypanel.com/guide/deployment/#installation

Base on https://github.com/ConvoyPanel/panel

+ \ No newline at end of file diff --git a/case/index.html b/case/index.html index 5e0e91c8f..69e916c61 100644 --- a/case/index.html +++ b/case/index.html @@ -11,7 +11,7 @@ - + @@ -20,7 +20,7 @@
Skip to content

Linux相关项目

与Linux相关的一些一键脚本项目

- + \ No newline at end of file diff --git a/developer/index.html b/developer/index.html index 57bc0963b..06971d5bb 100644 --- a/developer/index.html +++ b/developer/index.html @@ -11,7 +11,7 @@ - + @@ -20,7 +20,7 @@
Skip to content

开发手册

开发手册

- + \ No newline at end of file diff --git a/developer/l10n.html b/developer/l10n.html index fff869742..4d5bf9886 100644 --- a/developer/l10n.html +++ b/developer/l10n.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
- +
Skip to content
On this page

你可以在开发新功能时遵循以下步骤来支持本地化

介绍

  1. 你可以直接使用 /resource/l10n/zh-CN.toml 中已有的文本配置来替换新功能中的文本
  2. 如果新功能中有新增文本,请参考 zh-CN.toml 的配置文本,将新文本拉取到 zh-CN.toml 等其他语言的配置文件中,并添加翻译

新本地化文本的添加

  1. /resource/l10n/ 中添加新的语言文本配置
  2. 在新的语言文本配置中拉取其他语言已有的文本配置
  3. 为新的语言文本配置添加翻译
+ \ No newline at end of file diff --git a/en/developer/index.html b/en/developer/index.html index b4612911b..aa0790cd8 100644 --- a/en/developer/index.html +++ b/en/developer/index.html @@ -11,7 +11,7 @@ - + @@ -20,7 +20,7 @@
Skip to content

Development Manual

Welcome to the oneclickvirt Development Manual.

- + \ No newline at end of file diff --git a/en/developer/l10n.html b/en/developer/l10n.html index 0b614074c..3bd8ef215 100644 --- a/en/developer/l10n.html +++ b/en/developer/l10n.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
- +
Skip to content
On this page

You can follow these steps to support localization when developing new features

Introduction

  1. You can directly use the text configuration already available in /resource/l10n/en-US.toml to replace the text in the new feature.
  2. If there is new text in the new feature, please refer to the configuration text in en-US.toml, pull the new text into the configuration files of other languages such as en-US.toml, and add translations.

Adding a new localized text file

  1. Add a new language text configuration in /resource/l10n/.
  2. Pull existing text configurations from other languages in the new language text configuration.
  3. Add translations for the new language text configuration.
+ \ No newline at end of file diff --git a/en/guide/dashboard.html b/en/guide/dashboard.html index 6db3f6a85..6315bbc94 100644 --- a/en/guide/dashboard.html +++ b/en/guide/dashboard.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



- +
Skip to content
On this page

Preparation Work

To virtualize a server, you will need:

  1. A server (VPS or Dedicated Server) that can connect to the public internet. It's preferable if this server can access GitHub's RAW pages perfectly, as some projects and components might not use CDN acceleration.

  2. A stable SSH connection from your local machine. If the connection isn't stable, you can use the screen command to create a window and execute commands within that window.

TIP

If you're unfamiliar with the screen command, please search for relevant tutorials to learn it, or you can use tmux as an alternative.

  1. Ensure that the server's system and hardware meet the requirements specified by the corresponding project. Refer to the project's documentation for detailed information.

This document will use a VPS as an example, and the VPS should be clean without any native environment issues. If necessary, reinstall the system to ensure the initial environment's cleanliness.

WARNING

The PVE project might cause problems on the host machine. If you're not familiar with debugging bugs and fixing system issues, it's not recommended to use PVE in a production environment. When using PVE-related scripts, make sure the host machine can be reinstalled at any time.

Project Repository

Welcome Star and Fork, all resources are open source, no non-open source parts, reproduced as well as the use of please write on the source of this site, thank you!

PVE

Allows for the creation of KVM virtualized virtual machines and LXC virtualized containers.

https://github.com/oneclickvirt/pve

Hits

incus

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/incus

Hits

Docker

Docker virtualized containers Can Be Created.

https://github.com/oneclickvirt/docker

Hits

LXD

LXC Virtualization Containers Can Be Created.

https://github.com/oneclickvirt/lxd

Hits



+ \ No newline at end of file diff --git a/en/guide/dashboardq.html b/en/guide/dashboardq.html index 2e7501ca5..463f08f9e 100644 --- a/en/guide/dashboardq.html +++ b/en/guide/dashboardq.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ - - + + \ No newline at end of file diff --git a/en/guide/docker/docker_build.html b/en/guide/docker/docker_build.html index 488c25298..8f5fc32dc 100644 --- a/en/guide/docker/docker_build.html +++ b/en/guide/docker/docker_build.html @@ -11,7 +11,7 @@ - + @@ -42,8 +42,8 @@ docker exec -it $container_id bash -c "service sshd restart" docker exec -it $container_id sh -c "service ssh start" docker exec -it $container_id sh -c "/usr/sbin/sshd" -done
- +done
+ \ No newline at end of file diff --git a/en/guide/docker/docker_custom.html b/en/guide/docker/docker_custom.html index 5d2815095..897c282dd 100644 --- a/en/guide/docker/docker_custom.html +++ b/en/guide/docker/docker_custom.html @@ -11,7 +11,7 @@ - + @@ -36,8 +36,8 @@ docker rm -f chromium_${PORT} rm -rf /usr/local/bin/config_${PORT} rm -rf /usr/local/bin/password_${PORT} -docker rmi lscr.io/linuxserver/chromium

One-Click Setup of Desktop Container

  • Crashes automatically restart have been configured.
  • Chinese fonts are included in the setup.
  • Built-in web validation with the ability to set your own username and password.
  • Customizable maximum memory usage for the container.
  • No need to consider nested virtualization support and server architecture.
  • Sound mapping is supported, and sound can be transmitted via the web interface.

A complete Linux desktop on which you can use a browser

The host system requires at least 1 core, 2 GB of RAM, and 5 GB of hard disk space. The created container will occupy a minimum of 3.2 GB of hard disk space.

Setup Instructions:

After setup, the default username is onew and the password is oneclick. The default maximum memory usage is 2 GB.

The default web port for HTTP protocol is 3004, and for HTTPS protocol is 3005. After setup, open the corresponding protocol with localhost's IPV4:port in your web browser.

Run the following command to download and execute the setup script:

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewebtop.sh -o onewebtop.sh && chmod +x onewebtop.sh && bash onewebtop.sh

Deletion

Command:

shell
docker ps -a

Query for containers with a prefix of 'webtop' in their names, and record the IDs of these containers.

shell
docker rm -f container_ID

To remove the corresponding image, you can use the following command after deleting all associated containers:

shell
docker rmi lscr.io/linuxserver/webtop

One-Click Installation of Guacamole

A web-based tool for controlling servers using protocols like SSH or RDP.

Website: http://your_IPV4_address:80/guacamole

Default Username: guacadmin

Default Password: guacadmin

After installation, remember to change the password upon login.

The host machine should have at least 1 core, 2GB RAM, and 10GB of disk space; otherwise, launching might lead to host machine freezing!

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh
- +docker rmi lscr.io/linuxserver/chromium

One-Click Setup of Desktop Container

  • Crashes automatically restart have been configured.
  • Chinese fonts are included in the setup.
  • Built-in web validation with the ability to set your own username and password.
  • Customizable maximum memory usage for the container.
  • No need to consider nested virtualization support and server architecture.
  • Sound mapping is supported, and sound can be transmitted via the web interface.

A complete Linux desktop on which you can use a browser

The host system requires at least 1 core, 2 GB of RAM, and 5 GB of hard disk space. The created container will occupy a minimum of 3.2 GB of hard disk space.

Setup Instructions:

After setup, the default username is onew and the password is oneclick. The default maximum memory usage is 2 GB.

The default web port for HTTP protocol is 3004, and for HTTPS protocol is 3005. After setup, open the corresponding protocol with localhost's IPV4:port in your web browser.

Run the following command to download and execute the setup script:

curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewebtop.sh -o onewebtop.sh && chmod +x onewebtop.sh && bash onewebtop.sh

Deletion

Command:

shell
docker ps -a

Query for containers with a prefix of 'webtop' in their names, and record the IDs of these containers.

shell
docker rm -f container_ID

To remove the corresponding image, you can use the following command after deleting all associated containers:

shell
docker rmi lscr.io/linuxserver/webtop

One-Click Installation of Guacamole

A web-based tool for controlling servers using protocols like SSH or RDP.

Website: http://your_IPV4_address:80/guacamole

Default Username: guacadmin

Default Password: guacadmin

After installation, remember to change the password upon login.

The host machine should have at least 1 core, 2GB RAM, and 10GB of disk space; otherwise, launching might lead to host machine freezing!

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh
+ \ No newline at end of file diff --git a/en/guide/docker/docker_install.html b/en/guide/docker/docker_install.html index 285632b56..647dafd0d 100644 --- a/en/guide/docker/docker_install.html +++ b/en/guide/docker/docker_install.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

- +
Skip to content
On this page

Preface

Support for running Docker virtualization on various systems, including Linux, Android, and Windows.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Setting Up Virtual Memory

TIP

Allocate some swap space to prevent your machine from crashing.

Unit conversion: Inputting 1024 results in 1G of SWAP - virtual memory. Virtual memory occupies disk space and is automatically utilized when the physical memory is insufficient. However, this leads to high IO usage and CPU performance overhead.

It is recommended to allocate virtual memory twice the size of your physical memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Environment Setup

  • Detect the system environment and install the corresponding components
  • Install docker and docker-compose.
  • Download some configuration scripts required by default
  • Detect if there is an IPV6 address, check if it is greater than or equal to /112, and if so, configure the docker's ipv6 network.
  • If all the above conditions are met, create ndpresponder docker and radvd so that IPV6 allocation supports ndp broadcasting and auto-allocation.
  • Support for x86_64 and ARM architecture servers

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

OR

bash dockerinstall.sh

TIP

The environment installation process may require you to reboot the server and then execute the script again, see the instructions after the script is run for more details

+ \ No newline at end of file diff --git a/en/guide/docker/docker_precheck.html b/en/guide/docker/docker_precheck.html index ff22dd177..bcbfbc794 100644 --- a/en/guide/docker/docker_precheck.html +++ b/en/guide/docker/docker_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

- +
Skip to content
On this page

Introduction

The following is an introduction to the non-customized sections. Please ensure that you don't confuse them with the customized parts.

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

WARNING

If the host has an IPV6 network, the installation will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/docker

Project Features

Bulk or individual NAT server provisioning via docker

Default use of debian system optional alpine system, each container comes with 1 external ssh port, 25 internal and external network ports, you can choose whether to bind IPV6 address

The default creation of unprivileged containers, and does not mount and host docker daemon communication, so ** host created docker virtualization NAT servers can not be nested within the virtualization docker **

By default, lxcfs is installed and enabled, so that when querying resources within a container, CPU and memory use the configured view instead of the host's view.

Since most cloud servers have ext4 filesystems, even xfs filesystems do not enable the pquota option, so sharing the host's hard disk by default does not limit the disk size of each container.

Configuration requirements

The system can be installed docker can be used, the network can connect to the Github raw interface can be used, hardware configuration as long as not pull across the line, free hard disk has 3G on it!

(If you need to bind an IPV6 address, then please make sure to use the installation script of this set of scripts for docker installation, you need it to automatically preset some of the settings)

If the hardware resources are just a little bit better, need to limit more things and need to limit the size of the hard disk, you can use the incus partition of the script batch open LXC virtualization containers

If the hardware is very good and you have a lot of resources, you can use the PVE partition script to batch open KVM virtualized VMs.

+ \ No newline at end of file diff --git a/en/guide/docker/docker_qa.html b/en/guide/docker/docker_qa.html index 5141f066a..ccce94601 100644 --- a/en/guide/docker/docker_qa.html +++ b/en/guide/docker/docker_qa.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
- +
Skip to content
On this page

Solve the puzzle

Common Docker Commands

Check real-time resource usage of a specific container

docker stats <container_name>

Enter a specific container

docker exec -it <container_name> /bin/bash

Clean Docker cache, remove unused resources including images, containers, networks, etc.

docker system prune -a

Uninstall all Docker images and containers

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

View logs of a specific container

docker logs <container_name_or_ID>

View overall disk usage of Docker

docker system df

List all containers

docker ps -a

List all images

docker images

Remove a specific container

docker rm -f <container_name_or_ID>

Remove a specific image

docker rmi <image_name_or_ID>
+ \ No newline at end of file diff --git a/en/guide/docker/docker_thanks.html b/en/guide/docker/docker_thanks.html index 4ca4d109c..3de8101bd 100644 --- a/en/guide/docker/docker_thanks.html +++ b/en/guide/docker/docker_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/en/guide/incus/incus_custom.html b/en/guide/incus/incus_custom.html index c7ca9e7a3..0e07bdde0 100644 --- a/en/guide/incus/incus_custom.html +++ b/en/guide/incus/incus_custom.html @@ -11,7 +11,7 @@ - + @@ -45,8 +45,8 @@ EOF

Then you'll need to reboot the system a bit, or run

apt-get install net-tools iproute2 -y
 systemctl restart networking

Make sure the environment is OK before you do anything else

Check server status

systemctl status ndpresponder
ip addr show

Check client status

ip addr show
curl ipv6.ip.sb

Delete tunnel

server

ip link set server-ipv6 down
 ip tunnel del server-ipv6

client

ip link set user-ipv6 down
-ip tunnel del user-ipv6

The above deletion is only temporary, for permanent deletion you must modify and delete the contents of the /etc/network/interfaces file that you have previously added.

one more thing

In fact https://tunnelbroker.net/ supports the application of IPV6 subnets of size /48

Make the request here, then when converting the format change the original /64 IPV6 address to a /48 IPV6 address and you'll get a larger IPV6 subnet!

- +ip tunnel del user-ipv6

The above deletion is only temporary, for permanent deletion you must modify and delete the contents of the /etc/network/interfaces file that you have previously added.

one more thing

In fact https://tunnelbroker.net/ supports the application of IPV6 subnets of size /48

Make the request here, then when converting the format change the original /64 IPV6 address to a /48 IPV6 address and you'll get a larger IPV6 subnet!

+ \ No newline at end of file diff --git a/en/guide/incus/incus_extra_config.html b/en/guide/incus/incus_extra_config.html index 0747a505a..c690f0eb0 100644 --- a/en/guide/incus/incus_extra_config.html +++ b/en/guide/incus/incus_extra_config.html @@ -11,7 +11,7 @@ - + @@ -29,8 +29,8 @@ rm /etc/systemd/system/add-ipv6.service systemctl daemon-reload rm /usr/local/bin/add-ipv6.sh

Blocking Ingress/Egress Traffic on Easily Abused Ports and Filtering Out Port Scanning and Exploitation Toolkits

  • (Optional, this script is solely for preventing container abuse and is not mandatory to install.)
  • Precautionary Measures

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

Use the 'screen' command to configure monitoring and blocking of certain processes' commands: terminate containers immediately upon the appearance of specific processes.

  • To stop monitoring, you can use the 'screen' command to stop the window named 'lxc_monitor' and delete it.
  • (Optional, this script is only for preventing misuse of containers; it's fine not to install it.)
  • Shutdown afterwards.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

One-click Installation of Common Pre-configured Environment for incus Hosts with vnstat Integration

  • (Optional, this script is only for easy monitoring integration with the site, it's fine if you choose not to install)

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

One-Click Installation of the official incus Visualization Dashboard

  • (Optional, this panel is just for convenient visualization operations, it's okay if not present)
shell
apt-get install -y incus-ui-canonical
-incus config set core.https_address [::]

Then you can type in your browser

https://your_public_ipv4_address:8443

You can enter the official visualization panel, subsequent operation configuration in accordance with the UI prompts can be operated.

- +incus config set core.https_address [::]

Then you can type in your browser

https://your_public_ipv4_address:8443

You can enter the official visualization panel, subsequent operation configuration in accordance with the UI prompts can be operated.

+ \ No newline at end of file diff --git a/en/guide/incus/incus_install.html b/en/guide/incus/incus_install.html index 1c037905b..fed6162ad 100644 --- a/en/guide/incus/incus_install.html +++ b/en/guide/incus/incus_install.html @@ -11,7 +11,7 @@ - + @@ -36,8 +36,8 @@ EOF' apt-get update apt-get install incus -y -incus -h

If there are no exceptions, continue execution

incus admin init

Just enter the default for the normal options

Choose the size of the physical disk (hint: select the default option with a minimum of 1GB). Generally, I fill in the available disk space minus the memory size, then multiply by 0.95 and round down. Here, I entered 10GB.

Remember to select 'no' for options containing 'auto' when prompted to update the image, in order to avoid occupying the system.

- +incus -h

If there are no exceptions, continue execution

incus admin init

Just enter the default for the normal options

Choose the size of the physical disk (hint: select the default option with a minimum of 1GB). Generally, I fill in the available disk space minus the memory size, then multiply by 0.95 and round down. Here, I entered 10GB.

Remember to select 'no' for options containing 'auto' when prompted to update the image, in order to avoid occupying the system.

+ \ No newline at end of file diff --git a/en/guide/incus/incus_lxc.html b/en/guide/incus/incus_lxc.html index 0ee689762..237bf8710 100644 --- a/en/guide/incus/incus_lxc.html +++ b/en/guide/incus/incus_lxc.html @@ -11,7 +11,7 @@ - + @@ -43,8 +43,8 @@ wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/ssh_bash.sh -O /usr/local/bin/ssh_bash.sh && chmod +x /usr/local/bin/ssh_bash.sh wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/ssh_sh.sh -O /usr/local/bin/ssh_sh.sh && chmod +x /usr/local/bin/ssh_sh.sh wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -O /root/build_ipv6_network.sh && chmod +x /root/build_ipv6_network.sh -wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

Just download the other one-click scripts yourself.

- +wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

Just download the other one-click scripts yourself.

+ \ No newline at end of file diff --git a/en/guide/incus/incus_precheck.html b/en/guide/incus/incus_precheck.html index e091dee74..272581e4d 100644 --- a/en/guide/incus/incus_precheck.html +++ b/en/guide/incus/incus_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
- +
Skip to content
On this page

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the incus module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/incus

Requirements

Hardware requirements.

  • System: Debian 10+ (recommended 13+), Ubuntu 20.04+ (recommended 24.04+)
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu24 and Debian12, other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open incus containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for incus containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/en/guide/incus/incus_qa.html b/en/guide/incus/incus_qa.html index 7e97a696c..eade1942d 100644 --- a/en/guide/incus/incus_qa.html +++ b/en/guide/incus/incus_qa.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

- +
Skip to content
On this page

Solve the puzzle

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

+ \ No newline at end of file diff --git a/en/guide/incus/incus_thanks.html b/en/guide/incus/incus_thanks.html index 939837bec..82c31dbb9 100644 --- a/en/guide/incus/incus_thanks.html +++ b/en/guide/incus/incus_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_custom.html b/en/guide/lxd/lxd_custom.html index 86f047933..b21cf05b4 100644 --- a/en/guide/lxd/lxd_custom.html +++ b/en/guide/lxd/lxd_custom.html @@ -11,7 +11,7 @@ - + @@ -45,8 +45,8 @@ EOF

Then you'll need to reboot the system a bit, or run

apt-get install net-tools iproute2 -y
 systemctl restart networking

Make sure the environment is OK before you do anything else

Check server status

systemctl status ndpresponder
ip addr show

Check client status

ip addr show
curl ipv6.ip.sb

Delete tunnel

server

ip link set server-ipv6 down
 ip tunnel del server-ipv6

client

ip link set user-ipv6 down
-ip tunnel del user-ipv6

The above deletion is only temporary, for permanent deletion you must modify and delete the contents of the /etc/network/interfaces file that you have previously added.

one more thing

In fact https://tunnelbroker.net/ supports the application of IPV6 subnets of size /48

Make the request here, then when converting the format change the original /64 IPV6 address to a /48 IPV6 address and you'll get a larger IPV6 subnet!

- +ip tunnel del user-ipv6

The above deletion is only temporary, for permanent deletion you must modify and delete the contents of the /etc/network/interfaces file that you have previously added.

one more thing

In fact https://tunnelbroker.net/ supports the application of IPV6 subnets of size /48

Make the request here, then when converting the format change the original /64 IPV6 address to a /48 IPV6 address and you'll get a larger IPV6 subnet!

+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_extra_config.html b/en/guide/lxd/lxd_extra_config.html index 33692984e..41d6e2347 100644 --- a/en/guide/lxd/lxd_extra_config.html +++ b/en/guide/lxd/lxd_extra_config.html @@ -11,7 +11,7 @@ - + @@ -34,8 +34,8 @@ systemctl reload snap.lxd.daemon snap restart --reload lxd

Then you can type in your browser

https://your_public_ipv4_address:8443

You can enter the official visualization panel, subsequent operation configuration in accordance with the UI prompts can be operated.

One-Click Installation of Hosted Third-Party Visualization Dashboard

shell
lxc config set core.https_address [::]
 lxc config set core.trust_password your_password
-snap install lxdmosaic

After the installation is complete, open the hen IP address, follow the prompts to set the password for admin, other all the way to the default will be able to use the panel!

- +snap install lxdmosaic

After the installation is complete, open the hen IP address, follow the prompts to set the password for admin, other all the way to the default will be able to use the panel!

+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_install.html b/en/guide/lxd/lxd_install.html index 6726e84bd..8aa931b72 100644 --- a/en/guide/lxd/lxd_install.html +++ b/en/guide/lxd/lxd_install.html @@ -11,7 +11,7 @@ - + @@ -24,8 +24,8 @@ ufw disable

Enabling Virtual Memory SWAP

The amount of memory depends on how many instances you want to run. If you want to run 8 instances and calculate, you'll need 2GB of memory. If your actual physical memory is 512MB, you'll need an additional 1.5GB. To be cautious, allocate 2GB of virtual memory.

Execute the following commands: Enter '1', then enter '2048'. This signifies allocating 2GB of virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

Installing LXD

Actually, the virtual memory allocated for swap should be twice the size of the actual memory. So, it's reasonable to allocate 1GB if the actual memory is 500MB. The scenario I described above is an excessive allocation.

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

If the following error occurs in the above command

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

Use the command patch before installing lxd

snap install core

If there are no exceptions, the results of the above three lines of commands are as follows

图片

Just enter the default for the normal options

Choose the size of the physical disk (hint: select the default option with a minimum of 1GB). Generally, I fill in the available disk space minus the memory size, then multiply by 0.95 and round down. Here, I entered 10GB.

Remember to select 'no' for options containing 'auto' when prompted to update the image, in order to avoid occupying the system.

Test whether symbolic links are functioning in LXC.

lxc -h

If an error is reported then execute the following command to soft connect the lxc command

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

After connecting, test the lxc command again to see if there is an error about not being able to find it

- +export PATH=$PATH:/snap/bin

After connecting, test the lxc command again to see if there is an error about not being able to find it

+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_lxc.html b/en/guide/lxd/lxd_lxc.html index b6e1c200c..e9971c891 100644 --- a/en/guide/lxd/lxd_lxc.html +++ b/en/guide/lxd/lxd_lxc.html @@ -11,7 +11,7 @@ - + @@ -43,8 +43,8 @@ wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/ssh_bash.sh -O /usr/local/bin/ssh_bash.sh && chmod +x /usr/local/bin/ssh_bash.sh wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/ssh_sh.sh -O /usr/local/bin/ssh_sh.sh && chmod +x /usr/local/bin/ssh_sh.sh wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -O /root/build_ipv6_network.sh && chmod +x /root/build_ipv6_network.sh -wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

Just download the other one-click scripts yourself.

- +wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

Just download the other one-click scripts yourself.

+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_precheck.html b/en/guide/lxd/lxd_precheck.html index 87b02074d..2bc5e42c2 100644 --- a/en/guide/lxd/lxd_precheck.html +++ b/en/guide/lxd/lxd_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
- +
Skip to content
On this page

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If your host does not have an IPV6 subnet and you want to assign IPV6 addresses to containers, then please check the Customize partition in the LXD module for the Attach a free IPV6 address segment to the host, and attach an IPV6 subnet to the host before installing the environment.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/lxd

Requirements

Hardware requirements.

  • System: Debian 8+, Ubuntu 18+ (20.04 recommended).
  • Virtualization: KVM, VMWARE recommended.
  • Memory: At least 512MB of RAM
  • Hard disk: hard disk (system disk) at least 10G
  • Network: Independent IPV4 address, IPV6 is optional, bandwidth can download scripts on the line, the network can connect to the Github raw page on the line

PS: If the hardware is very good and has a lot of resources, you can use PVE to batch open KVM virtualized VMs Jump

PS: If the hardware resources are even worse, virtualization is not supported, you can use the docker version, the adaption surface is wider Jump

Project Features

  • This set of script development using Ubuntu20, Ubuntu other long-term maintenance version should also be no problem, automatically switch to another storage type if btrfs not supported

  • Set up both TCP and UDP forwarding, in addition to SSH ports, other mapping intranet and extranet ports are the same.

  • Support for docker nested virtualization of open LXC containers has been set up, and the default normal version and pure probe version use the debian11 system.

  • lxcfs has been set to be enabled by default, so that querying resources within a container uses the configured view rather than the host's view

  • Have blocked the container may be used to abuse the toolkit and IPV4 network TCP/UDP protocol ports ( 3389 8888 54321 65432 ), to prevent the container is used for scanning and blasting, and can be external process checking for problems automatically shut down

  • Has supported one-click configuration of IPV6 addresses for LXC containers (provided that the mother hen has an IPV6 subnet, no IPV6 address is not configured), automatically adapted to the size of the subnet

  • Ensure that the disk you want to open is the default system disk (sda or sda1) and not the mounted disk (sdb and so on), if you are not sure, use fdisk -l and df to check.

  • See Other notes for details on mounting other disks.

  • One-click scripts support custom restrictions on all content, the normal version supports multiple runs of the batch generation does not overwrite the previously generated configuration

Detecting the environment

Use the subsequent script must execute this command to detect the hen whether it meets the requirements

Command:

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_qa.html b/en/guide/lxd/lxd_qa.html index 83ea5b5ec..cf553dbb9 100644 --- a/en/guide/lxd/lxd_qa.html +++ b/en/guide/lxd/lxd_qa.html @@ -11,7 +11,7 @@ - + @@ -20,8 +20,8 @@
Skip to content
On this page

Solve the puzzle

What if the lxc command says it can't be found after LXD is installed?

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

- +export PATH=$PATH:/snap/bin

After executing this command try

lxc -h

to see if the lxc command is fixed.

What to do if you open centos7 and find that CGroupV1 is not supported?

Enable CGroup V1: To enable CGroup V1 on an Ubuntu system, you need to edit the kernel boot parameters.

Please note that before changing kernel boot parameters, make sure to backup important data and settings to prevent unexpected problems.

Edit the ```/etc/default/grubfile and addsystemd.unified_cgroup_hierarchy=0to the end of the parameters inGRUB_CMDLINE_LINUX_DEFAULT``, just like:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

Save the file and run the following command to update the GRUB boot.

bash
sudo update-grub

Reboot the system for the changes to take effect

If the above changes still do not support the opening of centos7, try using a different host system.

Currently verified VPS vendors that can open containers with separate IPV6 addresses.

kuroit Phoenix, USA regular

datalix German AMD Promotions

+ \ No newline at end of file diff --git a/en/guide/lxd/lxd_thanks.html b/en/guide/lxd/lxd_thanks.html index dd5732096..573c871dc 100644 --- a/en/guide/lxd/lxd_thanks.html +++ b/en/guide/lxd/lxd_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/en/guide/pve/pve_custom.html b/en/guide/pve/pve_custom.html index 0a2d04b6c..0bd158a9e 100644 --- a/en/guide/pve/pve_custom.html +++ b/en/guide/pve/pve_custom.html @@ -11,7 +11,7 @@ - + @@ -43,13 +43,13 @@ systemctl disable pvescheduler.service

Discontinuation of Spiceproxy service

If you do not need to use Spice for VM/container linking (the Arm version itself does not support Spice), you can deactivate the service by executing the following command:

systemctl stop spiceproxy.service 
 systemctl disable spiceproxy.service

Deleting the memory cache using a timed task

Clearing different types of caches and performing TRIM operations on file systems

shell
TEMP_CRON=$(mktemp)
 sudo crontab -l > $TEMP_CRON
-echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches >> /root/checkio.log" >> $TEMP_CRON
-echo "*/5 * * * * sleep 180; fstrim -av >> /root/checkio.log >> /root/checkio.log" >> $TEMP_CRON
+echo "*/5 * * * * echo 1 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 60; echo 2 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches" >> $TEMP_CRON
+echo "*/5 * * * * sleep 180; fstrim -av" >> $TEMP_CRON
 sudo crontab $TEMP_CRON
-rm $TEMP_CRON

The above commands require the sudo and crontab commands to be available on the host itself.

Self-mapping of public ports on KVM VMs with open NATs

Use the nano or vim command to modify the file to add port mapping:

/etc/iptables/rules.v4

For example, if I have a KVM VM with an intranet IP of 172.16.1.152, and MYSQL has been set up to listen to 3306, and I need to use the tcp protocol to map out to the 33306 port on the host IP, I would add the following line to the COMMIT line in the file above, then add the following line

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

Save the file and exit file editing and then execute:

service netfilter-persistent restart

Reload Port Mapping

At this point, on the host machine, execute the

lsof -i:33306

To see if the port mapping rule is in effect

- +rm $TEMP_CRON

The above commands require the sudo and crontab commands to be available on the host itself.

Self-mapping of public ports on KVM VMs with open NATs

Use the nano or vim command to modify the file to add port mapping:

/etc/iptables/rules.v4

For example, if I have a KVM VM with an intranet IP of 172.16.1.152, and MYSQL has been set up to listen to 3306, and I need to use the tcp protocol to map out to the 33306 port on the host IP, I would add the following line to the COMMIT line in the file above, then add the following line

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

Save the file and exit file editing and then execute:

service netfilter-persistent restart

Reload Port Mapping

At this point, on the host machine, execute the

lsof -i:33306

To see if the port mapping rule is in effect

+ \ No newline at end of file diff --git a/en/guide/pve/pve_install.html b/en/guide/pve/pve_install.html index 04ee0a0cd..c211f4269 100644 --- a/en/guide/pve/pve_install.html +++ b/en/guide/pve/pve_install.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

- +
Skip to content
On this page

PVE Body Installation

If you don't know how to choose an option during installation, just press enter.

TIP

For low-configuration hosts, it is recommended to check the contents of the Custom partition after all the content has been installed to perform memory tuning and reduce the memory footprint.

One-click PVE installation

TIP

Suggest debian12, the actual test part of the independent server debian11 system will appear a reboot network will be lost, debian12 does not have such a problem!

  • The installation is the latest PVE from the apt source at the moment.
  • For example, debian10 is pve6.4, debian11 is pve7.x, debian12 is pve8.x
  • Changes to the /etc/hosts file (to fix the wrong hostname setting for merchants and to add the required content for PVE)
  • /etc/cloud/cloud.cfg file modification (to avoid overwriting modified hostname etc.)
  • /etc/network/interfaces file modification (fix auto, dhcp type to static, add vmbr0 gateway)
  • Detect whether it is China IP, if it is China IP use Tsinghua mirror source, otherwise use the official source, and at the same time deal with the source of apt and the corresponding nameserver, to avoid disconnections
  • Create vmbr0 (independent IP gateway), the host allows addr and gateway for intranet IP or extranet IP, has been automatically recognized
  • vmbr0 creation support to open pure IPV4, pure IPV6, dual-stack virtual machine, automatic identification of IPV4 address and IPV6 address, automatic identification of the corresponding IP interval
  • Installation of the necessary toolkit for PVE to open a virtual machine
  • x86_64 replace enterprise subscriptions in apt sources with community sources, arm sources built using third-party patches for fixes
  • Print query Linux system kernel and PVE kernel installed or not
  • Setting up DNS detection 8.8.8.8.8 for boot add DNS systemd service
  • Download PVE and printout of login information after adding APT source link for PVE

All modified files have been set to read-only mode to avoid overwriting after reboot.

If you want to modify the file, please use chattr -i file path to cancel the read-only lock, and run chattr +i file path to lock the read-only lock when you finish modifying the file.

You will be prompted to reboot your system once during the execution process, After rebooting, be sure to wait at least 20 seconds to make sure the system does not reboot automatically again.

Because the original environment may be missing ifupdown or ifupdown2 environment, there is a self-installation daemon loaded for the installation, after the installation of the system will automatically reboot the system again, wait for 20 seconds without reboot to ensure that the installation has been run.

If the host itself exists SLAAC assigned IPV6 address, will be able to choose whether to use the largest IPV6 subnet range, the default carriage return does not use the largest IPV6 subnet range only use the local IPV6, if you subsequently need to attach a separate IPV6 address to the virtual machine/container, the option must be selected y.

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

or

shell
bash install_pve.sh

TIP

After successful installation, the web page may not be safe to open, click on Advanced or More Options and insist on accessing it!

The login information is your SSH account and password.

Pre-configure the environment

  • Creating a resource pool mypool
  • Remove the subscription popup
  • Attempt to enable hardware passthrough
  • Detect and auto-install AppArmor modules.
  • Before rebooting the system, it is recommended to hook up nezha probe to facilitate the use of the command line in the background without SSH, to avoid the possibility that SSH may lead to the loss of the root password after the reboot due to the merchant's strange presets.
  • Before executing reboot, you need to wait for the background task to finish executing, some host system apt command execution is very slow, you have to wait for a while to finish executing, of course, most of the machines are not so bad!

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

Automatically configure the host's gateway

WARNING

Before using this command, please make sure that you have restarted the server and that PVE can use the WEB terminal normally before executing this command. Do not execute this command immediately after restarting the machine, wait for at least 1 minute after the WEB terminal is successfully started before executing this command.

TIP

This step is most likely to cause SSH disconnections, the reason is to modify the network without waiting for the PVE kernel to start, which will result in setting conflicts, so wait at least a few minutes until the kernel is started, that is, the WEB side is started successfully before execution.

TIP

Before executing this command, if the host needs to append the address of the IPV6 tunnel, see the incus Custom section for appending it to the corresponding file, but please ignore the initial environment modification section for it.

  • If vmbr0 is not created, it is automatically created with the same logic as the main installation
  • Create vmbr1 (NAT gateway) to support IPV4 servers that open NAT for IPV6 networks with NAT.
  • Create vmbr2 (standalone IPV6 gateway), use ndppd to solve the problem of MAC verification of IPV6 addresses by the host, support the opening of servers with standalone IPV6 networks.
  • If you want to see the complete settings, you can execute cat /etc/network/interfaces to see, if you need to modify the gateway you need to modify the file, the web site can not be modified!
  • Load iptables and set back to source and allow NAT port forwarding.

In short, vmbr0 is responsible for v4 standalone IPs, and vmbr1 is responsible for complex v4/v6 NATs, vmbr2 is responsible for v6 standalone IPs.

Open independent IPV4 virtual machine using vmbr0, gateway with the host, IPV4/CIDR using the same network segment address and the same subnet mask, using the host's unbound IPV4 address for IPV4/CIDR, of course, if the subsequent use of this script does not need to pay attention to this point of the nuances of the thing

Use vmbr1 for IPV4 VM with NAT, 172.16.1.1 for gateway, 172.16.1.x/24 for IPV4/CIDR, where x can't be 1, but of course you don't need to pay attention to this minutia if you use this script later.

Command:

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

This step may require you to reboot your system after a few minutes of successful execution, see the final execution of the script at the end of the tip. However, a reboot will ensure that some of the hidden settings are loaded successfully, so be sure to reboot the server once if you are in a position to do so.

+ \ No newline at end of file diff --git a/en/guide/pve/pve_kvm.html b/en/guide/pve/pve_kvm.html index f26124bbe..6004f3290 100644 --- a/en/guide/pve/pve_kvm.html +++ b/en/guide/pve/pve_kvm.html @@ -11,7 +11,7 @@ - + @@ -33,8 +33,8 @@ service netfilter-persistent restart

This will cause the host to lose the ability to open VMs/containers with NAT that do not have a separate IPV4 address, so be careful!

After this, You will only be able to open VMs with separate IPV4 addresses.

Creating Virtual Machines with Pure IPv6 Addresses

The prerequisite is that the host provides an IPv6 subnet instead of just a standalone IPv6 address, and the host does not have MAC address verification enabled.

Automatic Selection of IPv6 Addresses without Manual Specification

Usage Instructions

Download Script

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

Meaning of each parameter

shell
./buildvm_onlyv6.sh VMID username password CPU_cores memory_GB disk_GB operating_system storage_disk

TIP

Note that the password here should be a mix of English and numbers only, and start with English, so as to avoid failing to set the password due to special characters being escaped during the setup process.

Test Example

shell
./buildvm_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local

The above command is used to create a virtual machine with only IPv6 addresses.

ParameterValue
VMID152
Usernametest1
Passwordoneclick123
CPU1 core
Memory1024MB
Disk10GB
Operating Systemdebian12
Storage Disklocal

Delete Example vm152

shell
qm stop 152
 qm destroy 152
 systemctl restart ndpresponder.service
-rm -rf vm152
- +rm -rf vm152 + \ No newline at end of file diff --git a/en/guide/pve/pve_lxc.html b/en/guide/pve/pve_lxc.html index e07295668..fbdc331b2 100644 --- a/en/guide/pve/pve_lxc.html +++ b/en/guide/pve/pve_lxc.html @@ -11,7 +11,7 @@ - + @@ -30,8 +30,8 @@ iptables-save > /etc/iptables/rules.v4

Creating Virtual Machines with Pure IPv6 Addresses

The premise is that the host provides an IPv6 subnet rather than a standalone IPv6 address, and the host does not have MAC address filtering enabled.

Automatic Selection of IPv6 Addresses, No Manual Configuration Needed

Download script

Command:

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

Example Usage

shell
./buildct_onlyv6.sh CTID Password Number_of_CPU_Cores Memory_Size_in_MB Disk_Size_in_GB Operating_System Storage_Disk
shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

The above command signifies the creation of a container with a pure IPV6 address.

AttributeValue
Container TypeCT
CTID152
Usernameroot
Passwordoneclick123
CPU Cores1
Memory1024MB
Disk10G
Operating Systemdebian12
Storage DiskLocal Disk (System Disk)

Deletion Example

shell
rm -rf ct*
 pct stop 152 
 pct destroy 152
-systemctl restart ndpresponder.service
- +systemctl restart ndpresponder.service + \ No newline at end of file diff --git a/en/guide/pve/pve_precheck.html b/en/guide/pve/pve_precheck.html index de71d6c70..c7b5b828d 100644 --- a/en/guide/pve/pve_precheck.html +++ b/en/guide/pve/pve_precheck.html @@ -11,7 +11,7 @@ - + @@ -21,8 +21,8 @@
Skip to content
On this page

Preface

The following is the introduction of the non-customized part, the customized part has its own corresponding introduction, do not get confused!

If there are unadapted merchants or machines welcome to contact @spiritlhl_bot, will try to support it sometime!

WARNING

Will change the network structure of the host, please make sure that the host can reset the system at any time and that there is no important data on the host before running it.

Feel free to give the project a Star for free support!-->https://github.com/oneclickvirt/pve

Various requirements

It is recommended that debian try to use the latest stable version of the system before use.

Do not use this set of scripts in the dynamic IP server (reboot the machine automatically switch the local IP server is not supported, reboot the machine after the IP does not automatically switch the support)

The one-click installation script of this project only adapts to Debian systems, non-Debian can not be installed through the APT source, the official only gives the image of Debian, other systems can only use the ISO installation, or use custom partitions and other ways to solve the problem in the FAQ partition.

  • System requirements: Debian 8+

TIP

It is recommended to install debian11 instead of debian12, because the latter is a beta version, and the debian11 installation is the stable version.

  • Hardware requirements: 2 cores 2G RAM x86_64 or arm architecture server hard disk at least 20G
  • Hardware requirements for KVM: VM-X or AMD-V support (some VPS and all Dedicated servers support).
  • If hardware or system requirements are not met, you can use incus to batch open LXC containers Jump

If you use IPV6 tunnels for IPV6 subnet attachment on the host, be sure to add the contents in the corresponding file when PVE is successfully installed but the gateway is not automatically set, and do not add IPV6 tunnels at the very beginning (without installing PVE).

Setting up virtual memory (SWAP)

Unit conversion: Enter 1024 to generate 1G SWAP-virtual memory, virtual memory takes up hard disk space, when the actual memory is not enough to use the virtual memory will automatically use the virtual memory for memory use, but then bring the IO high occupancy and CPU performance occupancy!

It is recommended to use only twice the size of the actual memory as virtual memory.

Command:

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

Detecting the environment

  • Before the execution of scripts related to this project, be sure to execute this script to detect the environment, if it does not meet the requirements of the installation of PVE will not be able to use the subsequent scripts.
  • Detecting the IPV6 network configuration of the machine (IPV6 can be installed with or without IPV6, it is just a query).
  • Detect whether the hardware configuration meets the minimum requirements
  • Detect whether the hardware environment can be nested virtualization KVM type of server
  • Detect whether the system environment can nest virtualized KVM-type servers.
  • Can not be nested virtualization KVM type of server can also open LXC virtualization server, but do not recommend installing PVE, rather use LXD

Command:

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

If you need to update the IPV6 information before querying, then execute the following command before querying

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
-rm -rf /usr/local/bin/pve_last_ipv6*


- +rm -rf /usr/local/bin/pve_last_ipv6*

+ \ No newline at end of file diff --git a/en/guide/pve/pve_qa.html b/en/guide/pve/pve_qa.html index 6ec9553e6..658bd9bee 100644 --- a/en/guide/pve/pve_qa.html +++ b/en/guide/pve/pve_qa.html @@ -11,7 +11,7 @@ - + @@ -30,8 +30,8 @@ iptables -t filter -F service networking restart systemctl restart networking.service -cat /etc/iptables/rules.v4 | iptables-restore

Verified VPS Providers

VPS Providers Offering KVM Virtualization with NAT

spartanhost Debian12 on a Dedicated Server (Debian11 has problems)

interserver VPS or dedicated servers

frantech Las Vegas Tier 2

eugamehost US Phoenix Black Friday Special

amhost Testing version

digitalocean Perminu Intel and Regular 4-core versions

skrime Lowest configuration of AMD Ryzen KVM Server

webdock AMD KVM Server

4vps Russian and Greek testing versions

hostaris German version (Note: Issues with the vendor's system template, IPV6 is not functional, and poor connectivity with Github)

adtaq Storage KVM server with lowest configuration

nocix Dedicated servers

crunchbits VPS

online.net Debian12 on a Dedicated Server (Debian11 has problems)

OVH Public Cloud needs to be installed after dd as a pure system using the following command

shell
bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 12 -pwd ' oneclickvirt139' --network "static"

At this point, the system username after dd is root, and the password is oneclickvirt139.

VPS Providers Offering NAT with LXC Virtualization

Tencent Cloud Worry-Free and Student editions

spectraip KVM servers

Linode Lowest configuration with dedicated CPU

hosthatch Special high-configuration servers

hetzner Cloud servers

rackdog Servers with floating IP

vultr Standard Cloud servers

azure Standard machines

scaleway ARM architecture servers

aws EC2 servers

Google cloud platform - GCP AMD servers

- +cat /etc/iptables/rules.v4 | iptables-restore

Verified VPS Providers

VPS Providers Offering KVM Virtualization with NAT

spartanhost Debian12 on a Dedicated Server (Debian11 has problems)

interserver VPS or dedicated servers

frantech Las Vegas Tier 2

eugamehost US Phoenix Black Friday Special

amhost Testing version

digitalocean Perminu Intel and Regular 4-core versions

skrime Lowest configuration of AMD Ryzen KVM Server

webdock AMD KVM Server

4vps Russian and Greek testing versions

hostaris German version (Note: Issues with the vendor's system template, IPV6 is not functional, and poor connectivity with Github)

adtaq Storage KVM server with lowest configuration

nocix Dedicated servers

crunchbits VPS

online.net Debian12 on a Dedicated Server (Debian11 has problems)

OVH Public Cloud needs to be installed after dd as a pure system using the following command

shell
bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 12 -pwd ' oneclickvirt139' --network "static"

At this point, the system username after dd is root, and the password is oneclickvirt139.

VPS Providers Offering NAT with LXC Virtualization

Tencent Cloud Worry-Free and Student editions

spectraip KVM servers

Linode Lowest configuration with dedicated CPU

hosthatch Special high-configuration servers

hetzner Cloud servers

rackdog Servers with floating IP

vultr Standard Cloud servers

azure Standard machines

scaleway ARM architecture servers

aws EC2 servers

Google cloud platform - GCP AMD servers

+ \ No newline at end of file diff --git a/en/guide/pve/pve_thanks.html b/en/guide/pve/pve_thanks.html index 73483c2ba..7a0ccee39 100644 --- a/en/guide/pve/pve_thanks.html +++ b/en/guide/pve/pve_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/en/index.html b/en/index.html index 76a59ca16..c4f75cf9d 100644 --- a/en/index.html +++ b/en/index.html @@ -11,7 +11,7 @@ - + @@ -20,7 +20,7 @@
Skip to content

One Click Virtualization

Open source, easy to use server virtualization project

- + \ No newline at end of file diff --git a/guide/dashboard.html b/guide/dashboard.html index b7310373e..c661b51d9 100644 --- a/guide/dashboard.html +++ b/guide/dashboard.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



- +
Skip to content
On this page

准备工作

需要虚拟化出服务器,你需要:

  1. 一台可以连接公网的服务器( VPS 或 Dedicated Server),最好能完美访问 Github 的 RAW 页面,部分项目部分组件可能未使用 CDN 加速

TIP

如果您位于中国大陆,访问 Github 有困难,请注意配套脚本和项目是否有说明已使用 CDN 加速

  1. 本地可以稳定连接SSH,如果不能稳定连接,请使用screen命令创建窗口后,在窗口内执行命令

TIP

不会用screen命令的,自行查找相关教程学习,或者用tmux替代也行

  1. 确保服务器的系统和硬件满足对应项目的要求,详见对应项目说明

本文档将以VPS作为范例,且该VPS纯净,无原生环境问题,如有必要请重装系统保证初始环境的纯净

WARNING

PVE项目可能造成宿主机出现问题,如果你不会看Bug和修复系统,那么不建议你在生产环境中使用,使用PVE相关脚本请确保宿主机随时可重装系统

项目仓库

欢迎Star和Fork,所有资源均开源,无非开源部分,转载以及使用请写上来源于本站,谢谢

PVE

可开设KVM虚拟化的虚拟机、LXC虚拟化的容器

https://github.com/oneclickvirt/pve

Hits

incus

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/incus

Hits

Docker

可开设Docker虚拟化的容器

https://github.com/oneclickvirt/docker

Hits

LXD

可开设LXC虚拟化的容器

https://github.com/oneclickvirt/lxd

Hits



+ \ No newline at end of file diff --git a/guide/dashboardq.html b/guide/dashboardq.html index 728a0d395..97c27f664 100644 --- a/guide/dashboardq.html +++ b/guide/dashboardq.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
- +
Skip to content
On this page

Give me a cup of coffee.

https://ko-fi.com/spiritlhl

USDT-TRC20

bash
TZ7nf8XAL9zQUo63xokazaBdCPeCgPfcwd
+ \ No newline at end of file diff --git a/guide/docker/docker_build.html b/guide/docker/docker_build.html index d689d5cec..b318523ca 100644 --- a/guide/docker/docker_build.html +++ b/guide/docker/docker_build.html @@ -11,7 +11,7 @@ - + @@ -42,8 +42,8 @@ docker exec -it $container_id bash -c "service sshd restart" docker exec -it $container_id sh -c "service ssh start" docker exec -it $container_id sh -c "/usr/sbin/sshd" -done - +done + \ No newline at end of file diff --git a/guide/docker/docker_custom.html b/guide/docker/docker_custom.html index 6ef893a8b..5f2a4776c 100644 --- a/guide/docker/docker_custom.html +++ b/guide/docker/docker_custom.html @@ -11,7 +11,7 @@ - + @@ -37,8 +37,8 @@ rm -rf /usr/local/bin/config_${PORT} rm -rf /usr/local/bin/password_${PORT} docker rmi lscr.io/linuxserver/chromium

注意事项

一键开设Desktop的容器

完整的Linux桌面,可以在上面使用浏览器

宿主机需要至少1核2G内存5G硬盘,开设的容器大小将占用起码3.2G硬盘

开设

开设后默认的用户名是onew,密码是oneclick,默认的内存最大占用是2GB

默认的http协议的web端口是3004,默认的https协议的web端口是3005,开设后打开对应协议的本机IPV4:端口即可

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onewebtop.sh -o onewebtop.sh && chmod +x onewebtop.sh && bash onewebtop.sh

删除

执行

shell
docker ps -a

查询name的前缀是webtop的容器,记录容器的ID用

shell
docker rm -f 容器的ID

删除所有关联的容器后可用

shell
docker rmi lscr.io/linuxserver/webtop

删除对应镜像

一键安装guacamole

一个网页端连接SSH或RDP等协议控制服务器的玩意

网址:http://你的IPV4地址:80/guacamole

默认用户: guacadmin

默认密码: guacadmin

安装完毕登录后自行修改

宿主机的配置至少要有1核2G内存10G硬盘,否则开设可能会导致宿主机卡死!

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/extra_scripts/guacamole.sh -o guacamole.sh && chmod +x guacamole.sh && bash guacamole.sh

一键开设RustDesk的容器

一个跨端的远控中继端(非客户端),支持双向控制

宿主机需要至少1核1G内存10G硬盘,对带宽的需求极低

开设

安装后客户端在这里找 https://github.com/rustdesk/rustdesk/releases/latest

在设置中设置中继服务器的IP即可,支持 Android、Windows、Linux、浏览器 端,支持电脑远控手机

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/onerustdesk.sh -o onerustdesk.sh && chmod +x onerustdesk.sh && bash onerustdesk.sh

删除

删除容器

shell
docker rm -f hbbs
-docker rm -f hbbr

删除对应镜像

shell
docker rmi rustdesk/rustdesk-server
- +docker rm -f hbbr

删除对应镜像

shell
docker rmi rustdesk/rustdesk-server
+ \ No newline at end of file diff --git a/guide/docker/docker_install.html b/guide/docker/docker_install.html index a3a41ebff..14905898e 100644 --- a/guide/docker/docker_install.html +++ b/guide/docker/docker_install.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

- +
Skip to content
On this page

前言

支持开设 Docker 虚拟化的各系统,含 Linux、Android、Windows 系统

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

开设虚拟内存

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

环境预设

  • 检测系统环境,安装对应组件
  • 安装docker和docker-compose,这里有判断为国际服务器还是国内服务器,自动安装对应源的docker
  • 下载默认需要的一些配置脚本
  • 检测如果存在IPV6地址,检测其是否大于或等于/112,如果符合条件,则配置docker的ipv6的网络
  • 如果上述条件都符合,创建ndpresponder的docker和radvd,使得IPV6的分配支持ndp广播和自动分配
  • 支持x86_64和ARM架构的服务器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/docker/main/scripts/dockerinstall.sh -o dockerinstall.sh && chmod +x dockerinstall.sh && bash dockerinstall.sh

bash dockerinstall.sh

TIP

环境安装过程中可能要求你重启服务器后再次执行脚本,详见脚本运行后的说明

+ \ No newline at end of file diff --git a/guide/docker/docker_precheck.html b/guide/docker/docker_precheck.html index 22aab7e79..5d97a359b 100644 --- a/guide/docker/docker_precheck.html +++ b/guide/docker/docker_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

- +
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

WARNING

如果宿主机带IPV6网络的话,安装会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/docker

项目特点

通过docker批量或单独开设NAT服务器(Bulk or individual NAT server provisioning via docker)

默认使用debian系统可选alpine系统,每个容器自带1个外网ssh端口,25个内外网一致端口,可选择是否绑定IPV6地址

默认创建的是非特权容器,且不挂载与宿主机的docker的守护进程之间的通信,所以宿主机创建的docker虚拟化的NAT服务器内无法再嵌套虚拟化docker

默认安装并启用lxcfs,使得在容器内的查询资源时CPU和内存使用的是配置的视图而不是宿主机的视图

由于大部分云服务器是ext4文件系统,docker默认的存储引擎是overlayfs2,即便宿主机的文件系统是xfs,默认也不会启用pquota选项,所以默认共享宿主机硬盘,无法限制每个容器的磁盘大小

配置要求

系统可安装docker即可用,网络能连接Github的raw界面就能用,硬件配置只要不拉跨就行,空闲硬盘有3G就行

(如果需要绑定IPV6地址,那么请保证使用本套脚本的环境预设脚本进行环境安装,需要它自动预设部分设置)

如果硬件资源只是好了一点,需要限制更多东西并需要限制硬盘大小,可使用LXD分区的脚本批量开LXC虚拟化的容器

如果硬件非常好资源很多,可使用PVE分区的脚本批量开KVM虚拟化的虚拟机

推荐在开设NAT服务器前先增加部分SWAP虚拟内存,避免突发的内存占用导致宿主机卡死

+ \ No newline at end of file diff --git a/guide/docker/docker_qa.html b/guide/docker/docker_qa.html index cbebcf2a6..1490d6b2f 100644 --- a/guide/docker/docker_qa.html +++ b/guide/docker/docker_qa.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
- +
Skip to content
On this page

解惑

常见的一些docker命令

查询某个容器的实时占用

docker stats 容器名字

进入某个容器

docker exec -it 容器名字 /bin/bash

清理 Docker 缓存,清理未使用的资源,包括镜像、容器、网络等

docker system prune -a

卸载所有docker的镜像和容器

docker rm -f $(docker ps -aq); docker rmi $(docker images -aq)

查看对应容器日志

docker logs 容器名字或ID

查看docker整体的disk占用

docker system df

查看所有容器

docker ps -a

查看所有镜像

docker images

删除某个特定容器

docker rm -f 容器名字或ID

删除某个特定镜像

docker rmi 镜像名字或ID
+ \ No newline at end of file diff --git a/guide/docker/docker_thanks.html b/guide/docker/docker_thanks.html index bc1ec7d40..548c8bc4f 100644 --- a/guide/docker/docker_thanks.html +++ b/guide/docker/docker_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/guide/incus/incus_custom.html b/guide/incus/incus_custom.html index 93d5514f2..c7f026c6d 100644 --- a/guide/incus/incus_custom.html +++ b/guide/incus/incus_custom.html @@ -11,7 +11,7 @@ - + @@ -45,8 +45,8 @@ EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
 systemctl restart networking

保证环境无问题再进行别的操作了

检测服务端

systemctl status ndpresponder
ip addr show

检测客户端

ip addr show
curl ipv6.ip.sb

删除隧道

服务端

ip link set server-ipv6 down
 ip tunnel del server-ipv6

客户端

ip link set user-ipv6 down
-ip tunnel del user-ipv6

以上删除的方式只是临时删除,永久删除务必修改删除/etc/network/interfaces文件中你之前增加的内容

后言

实际上 https://tunnelbroker.net/ 支持申请/48大小的IPV6子网,只需要在

图片

这里进行申请,然后转换格式的时候将原先/64的IPV6地址改成/48的IPV6地址,你就能获得一个更大的IPV6子网了

- +ip tunnel del user-ipv6

以上删除的方式只是临时删除,永久删除务必修改删除/etc/network/interfaces文件中你之前增加的内容

后言

实际上 https://tunnelbroker.net/ 支持申请/48大小的IPV6子网,只需要在

图片

这里进行申请,然后转换格式的时候将原先/64的IPV6地址改成/48的IPV6地址,你就能获得一个更大的IPV6子网了

+ \ No newline at end of file diff --git a/guide/incus/incus_extra_config.html b/guide/incus/incus_extra_config.html index 995f9ab0d..ca7a8efa2 100644 --- a/guide/incus/incus_extra_config.html +++ b/guide/incus/incus_extra_config.html @@ -11,7 +11,7 @@ - + @@ -29,8 +29,8 @@ rm /etc/systemd/system/add-ipv6.service systemctl daemon-reload rm /usr/local/bin/add-ipv6.sh

屏蔽容易被滥用的端口的出入流量以屏蔽端口和屏蔽滥用工具包

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/rules.sh -o rules.sh && chmod +x rules.sh && bash rules.sh

使用screen配置监控屏蔽某些进程的执行遇到某些进程的出现直接关闭容器

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_monitor.sh -o build_monitor.sh && chmod +x build_monitor.sh && bash build_monitor.sh

一键安装开incus宿主机所需要的带vnstat环境的常用预配置环境

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/backend.sh -o backend.sh && chmod +x backend.sh && bash backend.sh

安装incus的官方可视化控制面板

shell
apt-get install -y incus-ui-canonical
-incus config set core.https_address [::]

然后你可以在浏览器中输入

https://你的公网IPV4地址:8443

即可进入官方可视化操作面板,后续的操作配置按照UI提示操作即可

- +incus config set core.https_address [::]

然后你可以在浏览器中输入

https://你的公网IPV4地址:8443

即可进入官方可视化操作面板,后续的操作配置按照UI提示操作即可

+ \ No newline at end of file diff --git a/guide/incus/incus_install.html b/guide/incus/incus_install.html index 6c76582c9..5e6f5b3d9 100644 --- a/guide/incus/incus_install.html +++ b/guide/incus/incus_install.html @@ -11,7 +11,7 @@ - + @@ -36,8 +36,8 @@ EOF' apt-get update apt-get install incus -y -incus -h

如果无异常,继续执行

incus admin init

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

incus -h
- +incus -h

如果无异常,继续执行

incus admin init

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

incus -h
+ \ No newline at end of file diff --git a/guide/incus/incus_lxc.html b/guide/incus/incus_lxc.html index ba82aafa6..052845b43 100644 --- a/guide/incus/incus_lxc.html +++ b/guide/incus/incus_lxc.html @@ -11,7 +11,7 @@ - + @@ -43,8 +43,8 @@ wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/ssh_bash.sh -O /usr/local/bin/ssh_bash.sh && chmod +x /usr/local/bin/ssh_bash.sh wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/ssh_sh.sh -O /usr/local/bin/ssh_sh.sh && chmod +x /usr/local/bin/ssh_sh.sh wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/build_ipv6_network.sh -O /root/build_ipv6_network.sh && chmod +x /root/build_ipv6_network.sh -wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

其他一键脚本自己对应下载回来就行了

- +wget https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

其他一键脚本自己对应下载回来就行了

+ \ No newline at end of file diff --git a/guide/incus/incus_precheck.html b/guide/incus/incus_precheck.html index c4f0eec84..37fb7d0f4 100644 --- a/guide/incus/incus_precheck.html +++ b/guide/incus/incus_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
- +
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看incus模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/incus

要求

硬件要求:

  • 系统:Debian 10+(推荐 13 以上), Ubuntu 20.04+(推荐 24.04 以上)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu24Debian12,别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/incus/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/guide/incus/incus_qa.html b/guide/incus/incus_qa.html index 5084cd81a..3ca7df4c4 100644 --- a/guide/incus/incus_qa.html +++ b/guide/incus/incus_qa.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

- +
Skip to content
On this page

解惑

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销款

+ \ No newline at end of file diff --git a/guide/incus/incus_thanks.html b/guide/incus/incus_thanks.html index a666236e5..b5a050936 100644 --- a/guide/incus/incus_thanks.html +++ b/guide/incus/incus_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/guide/lxd/lxd_custom.html b/guide/lxd/lxd_custom.html index 2811ece79..7b340955d 100644 --- a/guide/lxd/lxd_custom.html +++ b/guide/lxd/lxd_custom.html @@ -11,7 +11,7 @@ - + @@ -45,8 +45,8 @@ EOF

然后你就需要重启一下系统,或者执行

apt-get install net-tools iproute2 -y
 systemctl restart networking

保证环境无问题再进行别的操作了

检测服务端

systemctl status ndpresponder
ip addr show

检测客户端

ip addr show
curl ipv6.ip.sb

删除隧道

服务端

ip link set server-ipv6 down
 ip tunnel del server-ipv6

客户端

ip link set user-ipv6 down
-ip tunnel del user-ipv6

以上删除的方式只是临时删除,永久删除务必修改删除/etc/network/interfaces文件中你之前增加的内容

后言

实际上 https://tunnelbroker.net/ 支持申请/48大小的IPV6子网,只需要在

图片

这里进行申请,然后转换格式的时候将原先/64的IPV6地址改成/48的IPV6地址,你就能获得一个更大的IPV6子网了

- +ip tunnel del user-ipv6

以上删除的方式只是临时删除,永久删除务必修改删除/etc/network/interfaces文件中你之前增加的内容

后言

实际上 https://tunnelbroker.net/ 支持申请/48大小的IPV6子网,只需要在

图片

这里进行申请,然后转换格式的时候将原先/64的IPV6地址改成/48的IPV6地址,你就能获得一个更大的IPV6子网了

+ \ No newline at end of file diff --git a/guide/lxd/lxd_extra_config.html b/guide/lxd/lxd_extra_config.html index ac41c3632..a73344a71 100644 --- a/guide/lxd/lxd_extra_config.html +++ b/guide/lxd/lxd_extra_config.html @@ -11,7 +11,7 @@ - + @@ -34,8 +34,8 @@ systemctl reload snap.lxd.daemon snap restart --reload lxd

然后你可以在浏览器中输入

https://你的公网IPV4地址:8443

即可进入官方可视化操作面板,后续的操作配置按照UI提示操作即可

一键安装宿主机第三方可视化操作的面板

shell
lxc config set core.https_address [::]
 lxc config set core.trust_password your_password
-snap install lxdmosaic

安装完毕后打开宿主机IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

- +snap install lxdmosaic

安装完毕后打开宿主机IP地址,按照提示设置admin的密码,其他一路默认就能使用面板了

+ \ No newline at end of file diff --git a/guide/lxd/lxd_install.html b/guide/lxd/lxd_install.html index 749b3a8b3..3b23abcd5 100644 --- a/guide/lxd/lxd_install.html +++ b/guide/lxd/lxd_install.html @@ -11,7 +11,7 @@ - + @@ -24,8 +24,8 @@ ufw disable

开设虚拟内存SWAP

内存看你开多少服务器,这里如果要开8个,换算需要2G内存,实际内存如果是512MB内存,还需要开1.5G,保守点开2G虚拟内存即可

执行下面命令,输入1,再输入2048,代表开2G虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/swap.sh -o swap.sh && chmod +x swap.sh && bash swap.sh

安装LXD

实际swap开的虚拟内存应该是实际内存的2倍,也就是开1G是合理的,上面我描述的情况属于超开了

apt install snapd -y
 snap install lxd
 /snap/bin/lxd init

如果上面的命令中出现下面的错误

(snap "lxd" assumes unsupported features: snapd2.39 (try to update snapd and refresh the core snap))

使用命令修补后再进行lxd的安装

snap install core

如果无异常,上面三行命令执行结果如下

图片

一般的选项回车默认即可

选择配置物理盘大小(提示默认最小1GB那个选项),一般我填空闲磁盘大小减去内存大小后乘以0.95并向下取整,这里我填了10GB

提示带auto的更新image的选项记得选no,避免更新占用系统

测试lxc有没有软连接上

lxc -h

如果报错则执行以下命令软连接lxc命令

bash
! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

- +export PATH=$PATH:/snap/bin

连接后再测试lxc命令是否有报错找不到

+ \ No newline at end of file diff --git a/guide/lxd/lxd_lxc.html b/guide/lxd/lxd_lxc.html index a6ad7c702..17b029f4c 100644 --- a/guide/lxd/lxd_lxc.html +++ b/guide/lxd/lxd_lxc.html @@ -11,7 +11,7 @@ - + @@ -43,8 +43,8 @@ wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/ssh_bash.sh -O /usr/local/bin/ssh_bash.sh && chmod +x /usr/local/bin/ssh_bash.sh wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/ssh_sh.sh -O /usr/local/bin/ssh_sh.sh && chmod +x /usr/local/bin/ssh_sh.sh wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/build_ipv6_network.sh -O /root/build_ipv6_network.sh && chmod +x /root/build_ipv6_network.sh -wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

其他一键脚本自己对应下载回来就行了

- +wget https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/buildone.sh -O /root/buildone.sh && chmod +x /root/buildone.sh

其他一键脚本自己对应下载回来就行了

+ \ No newline at end of file diff --git a/guide/lxd/lxd_precheck.html b/guide/lxd/lxd_precheck.html index 33f018522..0614351aa 100644 --- a/guide/lxd/lxd_precheck.html +++ b/guide/lxd/lxd_precheck.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
- +
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果你的宿主机本身没有IPV6的子网又想给容器分配IPV6地址,那么请先查看LXD模块中的自定义分区中的给宿主机附加免费的IPV6地址段的内容,给宿主机附加上IPV6子网后再进行环境安装

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/lxd

要求

硬件要求:

  • 系统:Debian 8+, Ubuntu 18+(推荐20.04)
  • 虚拟化:推荐KVM、VMWARE虚拟化
  • 内存:内存至少512MB
  • 硬盘:硬盘(系统盘)至少10G
  • 网络:独立的IPV4地址,IPV6可有可无,带宽能下载脚本就行,网络能连接Github的raw页面就行

PS: 如果硬件非常好资源很多,可使用PVE批量开KVM虚拟化的虚拟机 跳转

PS: 如果硬件资源更烂,虚拟化不支持,可使用docker版本的,适配面更广 跳转

项目特点

  • 本套脚本开发使用的Ubuntu20,Ubuntu别的长期维护版本应该也没问题,某个存储类型无法使用时自动切换

  • 已设置同时进行TCP和UDP转发,除了SSH端口其他的映射内网外网端口一致

  • 已设置支持开出的LXC容器进行docker嵌套虚拟,默认普通版本和纯探针版本使用debian11系统

  • 已设置默认启用lxcfs,使得在容器内的查询资源时使用的是配置的视图而不是宿主机的视图

  • 已屏蔽容器内可能用于滥用的工具包和IPV4网络的TCP/UDP协议的端口( 3389 8888 54321 65432 ),以防止容器被用于扫描和爆破,且可外置进程检查有问题自动停机

  • 已支持一键为LXC容器配置IPV6地址(前提是宿主机有IPV6子网,无IPV6地址则不配置),自动适配子网大小

  • 已增加清华镜像源,如果官方镜像丢失时,将使用镜像源下载容器镜像

  • 保证你要开的盘为默认的系统盘(sda或者sda1)而不是挂载的盘(sdb之类的),不确定的使用fdisk -ldf查看

  • 挂载其他盘的详看 其他说明

  • 一键脚本支持自定义限制所有内容,普通版本支持多次运行批量生成不覆盖先前生成的配置

检测环境

使用后续脚本的务必执行本命令检测宿主机是否符合要求

国际

bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)

国内

bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/lxd/main/scripts/pre_check.sh)
+ \ No newline at end of file diff --git a/guide/lxd/lxd_qa.html b/guide/lxd/lxd_qa.html index 44abad521..905fcbd66 100644 --- a/guide/lxd/lxd_qa.html +++ b/guide/lxd/lxd_qa.html @@ -11,7 +11,7 @@ - + @@ -20,8 +20,8 @@
Skip to content
On this page

解惑

如果LXD安装后lxc命令显示找不到怎么办

! lxc -h >/dev/null 2>&1 && echo 'alias lxc="/snap/bin/lxc"' >> /root/.bashrc && source /root/.bashrc
-export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销

- +export PATH=$PATH:/snap/bin

执行这个命令后尝试

lxc -h

看看lxc命令是否已修复

开设centos7发现报错CGroupV1不支持怎么办

启用CGroup V1:要在Ubuntu系统上启用CGroup V1,需要编辑内核启动参数。

请注意,在更改内核启动参数之前,请务必备份重要的数据和设置,以防止意外的问题。

编辑/etc/default/grub文件,将GRUB_CMDLINE_LINUX_DEFAULT中的参数末尾加上systemd.unified_cgroup_hierarchy=0,如

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash systemd.unified_cgroup_hierarchy=0"

保存文件并运行以下命令更新GRUB引导。

bash
sudo update-grub

重启系统,使更改生效

如果上述更改仍旧不支持开设centos7,那么请使用别的宿主机系统尝试

目前已验证可开带独立IPV6地址容器的VPS商家

kuroit 中的 美国凤凰城 regular

datalix 中的 德国AMD 促销

+ \ No newline at end of file diff --git a/guide/lxd/lxd_thanks.html b/guide/lxd/lxd_thanks.html index 357cc6a6b..588168cea 100644 --- a/guide/lxd/lxd_thanks.html +++ b/guide/lxd/lxd_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/guide/pve/pve_custom.html b/guide/pve/pve_custom.html index c3f460bab..6b425164d 100644 --- a/guide/pve/pve_custom.html +++ b/guide/pve/pve_custom.html @@ -11,7 +11,7 @@ - + @@ -48,8 +48,8 @@ echo "*/5 * * * * sleep 120; echo 3 > /proc/sys/vm/drop_caches" >> $TEMP_CRON echo "*/5 * * * * sleep 180; fstrim -av" >> $TEMP_CRON sudo crontab $TEMP_CRON -rm $TEMP_CRON

上面的命令需要宿主机本身有sudocrontab命令才可使用。

在开设出的NAT的KVM虚拟机上自行映射公网端口

使用nanovim命令修改文件增加端口映射:

/etc/iptables/rules.v4

例如我有一台内网IP为172.16.1.152的KVM虚拟机,虚拟机内已经开设MYSQL监听了3306,我需要使用tcp协议映射出来到宿主机IP上的33306端口上进行使用,那么需要在上面的那个文件中的COMMIT行以上增加如下行

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

保存文件退出文件编辑后执行

service netfilter-persistent restart

重载端口映射

此时在宿主机上执行

lsof -i:33306

可见端口映射规则是否生效

- +rm $TEMP_CRON

上面的命令需要宿主机本身有sudocrontab命令才可使用。

在开设出的NAT的KVM虚拟机上自行映射公网端口

使用nanovim命令修改文件增加端口映射:

/etc/iptables/rules.v4

例如我有一台内网IP为172.16.1.152的KVM虚拟机,虚拟机内已经开设MYSQL监听了3306,我需要使用tcp协议映射出来到宿主机IP上的33306端口上进行使用,那么需要在上面的那个文件中的COMMIT行以上增加如下行

-A PREROUTING -p tcp -m tcp -dport 33306 -j DNAT --to-destination 172.16.1.152:3306

保存文件退出文件编辑后执行

service netfilter-persistent restart

重载端口映射

此时在宿主机上执行

lsof -i:33306

可见端口映射规则是否生效

+ \ No newline at end of file diff --git a/guide/pve/pve_install.html b/guide/pve/pve_install.html index 90d0e65e9..dc266829f 100644 --- a/guide/pve/pve_install.html +++ b/guide/pve/pve_install.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

- +
Skip to content
On this page

PVE主体安装

安装过程中遇到选项不会选的可无脑按回车,本项目所有脚本内置国内外IP自动判断,使用的是不同的安装源与配置文件,有使用CDN加速镜像下载

TIP

低配置的宿主机,建议所有内容安装完毕后,查看自定义分区的内容,进行内存调优,减少内存占用。

一键安装PVE

TIP

建议debian12,实测部分独立服务器的debian11系统会出现一重启网络就失联的情况,debian12没有这种问题

  • 安装的是当下apt源最新的PVE
  • 比如debian10则是pve6.4,debian11则是pve7.x,debian12则是pve8.x
  • /etc/hosts文件修改(修正商家hostname设置错误以及新增PVE所需的内容)
  • /etc/cloud/cloud.cfg文件修改(避免覆写已修改的hostname等配置)
  • /etc/network/interfaces文件修改(修复auto、dhcp类型为static、增加vmbr0网关)
  • 检测是否为中国IP,如果为中国IP使用清华镜像源,否则使用官方源,同时处理apt的源和对应的nameserver,避免断网
  • 创建vmbr0(独立IP网关),宿主机允许addr和gateway为内网IP或外网IP,已自动识别
  • vmbr0创建支持开设纯IPV4、纯IPV6、双栈虚拟机,自动识别IPV4地址和IPV6地址,自动识别对应的IP区间
  • 安装PVE开虚拟机需要的必备工具包
  • x86_64的替换apt源中的企业订阅为社区源,arm的使用第三方修复的补丁构建的源
  • 打印查询Linux系统内核和PVE内核是否已安装
  • 设置DNS检测8.8.8.8的开机自启添加DNS的systemd服务
  • 新增PVE的APT源链接后,下载PVE并打印输出登陆信息

所有修改过的文件均已设置为只读模式,避免重启后文件被覆写

如需修改请使用chattr -i 文件路径取消只读锁定,修改完毕请执行chattr +i 文件路径进行只读锁定

执行过程中会提示重启系统一次,重启后务必等待起码20秒确保系统未再次自动重启

因为原始环境可能缺失ifupdownifupdown2环境,有加载自安装的守护进程进行安装,安装后会再次自动重启系统,等待20秒未自重启确保这个安装已运行完毕

若宿主机本身存在SLAAC分配的IPV6地址,将可选择是否使用最大的IPV6子网范围,默认回车不使用最大的IPV6子网范围仅使用本机IPV6,若后续需要给虚拟机/容器附加独立的IPV6地址,该选项务必选择y.

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/install_pve.sh -o install_pve.sh && chmod +x install_pve.sh && bash install_pve.sh

shell
bash install_pve.sh

TIP

安装成功后打开网页可能提示不安全,点击高级或更多选项,坚持访问即可

登录的信息是你SSH的账户和密码

预配置环境

  • 创建资源池mypool(local)
  • 移除订阅弹窗
  • 尝试开启硬件直通
  • 对AppArmor模块检测和自动安装
  • 重启系统前推荐挂上nezha探针方便在后台不通过SSH使用命令行,避免SSH可能因为商家奇葩的预设可能导致重启后root密码丢失
  • 执行reboot前需要等待后台任务执行完毕,一些宿主机的系统apt命令执行很慢,得等一会才能执行完毕,当然大部分的机器没这么烂

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_backend.sh)

自动配置宿主机的网关

WARNING

使用前请保证重启过服务器且此时PVE能正常使用WEB端再执行,重启机器后不要立即执行此命令,待WEB端启动成功后至少等1分钟再执行本命令

TIP

这一步是最容易造成SSH断开的,原因是未等待PVE内核启动就修改网络会造成设置冲突,所以至少等几分钟待内核启动也就是WEB端启动成功后再执行

TIP

在执行本命令前如果宿主机需要附加IPV6隧道的地址,请查看incus的自定义分区部分的内容附加到对应文件中,但请忽略它的初始环境修改部分的内容

  • 如果vmbr0未创建,则自动创建,逻辑同主体安装一致
  • 创建vmbr1(NAT网关),支持开设NAT的IPV6网络的NAT的IPV4的服务器
  • 创建vmbr2(独立IPV6网关),使用ndppd解决宿主机对IPV6地址进行MAC校验的问题,支持开设带独立IPV6网络的服务器
  • 想查看完整设置可以执行cat /etc/network/interfaces查看,如需修改网关需要修改该文件,web端已经无法修改
  • 加载iptables并设置回源且允许NAT端口转发

简单的说,vmbr0负责v4的独立IP,vmbr1负责复杂v4/v6的NAT,vmbr2负责v6的独立IP

开独立IPV4的虚拟机时使用的vmbr0,gateway同宿主机,IPV4/CIDR使用同一网段的地址和相同的子网掩码,使用宿主机未绑定的IPV4地址做IPV4/CIDR,当然如果后续使用本套脚本无需关注这点细枝末节的东西

开NAT的IPV4的虚拟机时使用vmbr1,gateway使用172.16.1.1,IPV4/CIDR使用172.16.1.x/24,这里的x不能是1,当然如果后续使用本套脚本无需关注这点细枝末节的东西

国际

shell
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

国内

shell
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/build_nat_network.sh)

TIP

这一步是可能需要你执行成功几分钟后重启系统,详见脚本最后执行完毕的提示,但重启可以保证部分隐藏设置加载成功,有条件务必重启一次服务器

+ \ No newline at end of file diff --git a/guide/pve/pve_kvm.html b/guide/pve/pve_kvm.html index 888f72d86..756e0655a 100644 --- a/guide/pve/pve_kvm.html +++ b/guide/pve/pve_kvm.html @@ -11,7 +11,7 @@ - + @@ -33,8 +33,8 @@ service netfilter-persistent restart

即可,但这会导致宿主机丧失开设非独立IPV4地址的NAT的虚拟机/容器的能力,慎重执行

执行后你只能开设独立IPV4地址的虚拟机了。

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildvm_onlyv6.sh -o buildvm_onlyv6.sh && chmod +x buildvm_onlyv6.sh

各参数含义

shell
./buildvm_onlyv6.sh VMID 用户名 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘

TIP

注意这里的密码最好仅英文与数字混合,且以英文开头,避免密码在设置过程中因为特殊字符被转义而设置失败

创建示例

shell
./buildvm_onlyv6.sh 152 test1 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的虚拟机

参数
VMID152
用户名test1
密码oneclick123
CPU1核
内存1024MB
硬盘10G
系统debian12
存储盘local

删除vm152示例

shell
qm stop 152
 qm destroy 152
 systemctl restart ndpresponder.service
-rm -rf vm152
- +rm -rf vm152 + \ No newline at end of file diff --git a/guide/pve/pve_lxc.html b/guide/pve/pve_lxc.html index e52a801fc..175e79e78 100644 --- a/guide/pve/pve_lxc.html +++ b/guide/pve/pve_lxc.html @@ -11,7 +11,7 @@ - + @@ -30,8 +30,8 @@ iptables-save > /etc/iptables/rules.v4

开设纯IPV6地址的虚拟机

前提是宿主机给的是IPV6子网而不是单独一个IPV6地址,且宿主机未开启MAC地址校验

自动选择IPV6地址无需手动指定

使用方法

下载脚本

国际

shell
curl -L https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/buildct_onlyv6.sh -o buildct_onlyv6.sh && chmod +x buildct_onlyv6.sh

各参数含义

shell
./buildct_onlyv6.sh CTID 密码 CPU核数 内存大小以MB计算 硬盘大小以GB计算 系统 存储盘

创建示例

shell
./buildct_onlyv6.sh 152 oneclick123 1 1024 10 debian12 local

上述命令意义为开设一个纯IPV6地址的容器

属性
容器类型CT
CTID152
用户名root
密码oneclick123
CPU核心数1
内存1024MB
硬盘10G
系统debian12
存储盘local盘 (系统盘)

删除示例

shell
rm -rf ct*
 pct stop 152 
 pct destroy 152
-systemctl restart ndpresponder.service
- +systemctl restart ndpresponder.service + \ No newline at end of file diff --git a/guide/pve/pve_precheck.html b/guide/pve/pve_precheck.html index ad5f5e942..129246252 100644 --- a/guide/pve/pve_precheck.html +++ b/guide/pve/pve_precheck.html @@ -11,7 +11,7 @@ - + @@ -21,8 +21,8 @@
Skip to content
On this page

前言

以下为非自定义部分的介绍,自定义部分有自己对应的介绍,勿弄混了

如果有未适配的商家或机器欢迎联系@spiritlhl_bot,有空会尝试支持一下

WARNING

会改变宿主机的网络结构,请保证宿主机随时可重置系统,且运行前无重要数据在宿主机上

欢迎给项目一个Star进行免费的支持-->https://github.com/oneclickvirt/pve

各种要求

建议debian在使用前尽量使用最新的稳定版本的系统

不要在动态IP的服务器上使用本套脚本(重启机器后自动切换本机IP的服务器暂不支持,重启机器后IP不自动切换的支持)

本项目的一键安装脚本只适配Debian系统,非Debian无法通过APT源安装,官方只给了Debian的镜像,其他系统只能使用ISO安装,或使用自定义分区和常见问题分区中的其他方式解决问题。

  • 系统要求:Debian 8+

TIP

建议debian12而不是debian11,debian11在部分独立服务器上有网络重启的BUG。

  • 硬件要求:2核2G内存x86_64arm架构服务器硬盘至少20G
  • 可开KVM的硬件要求:VM-X或AMD-V支持 (部分VPS和全部独服支持)
  • 如果硬件或系统需求不满足,可使用LXD批量开LXC容器跳转

如果使用IPV6隧道进行宿主机的IPV6子网附加,务必在PVE安装成功但网关未自动设置时在对应文件添加内容,不要在一开始(未安装PVE)就进行IPV6隧道的添加。

开设虚拟内存(SWAP)

TIP

内存开点swap免得机器炸了

单位换算:输入 1024 产生 1G SWAP-虚拟内存,虚拟内存占用硬盘空间,当实际内存不够用时将自动使用虚拟内存做内存使用,但随之带来IO高占用以及CPU性能占用

建议只开实际内存大小两倍大小的虚拟内存

国际

shell
curl -L https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

国内

shell
curl -L https://cdn.spiritlhl.net/https://raw.githubusercontent.com/spiritLHLS/addswap/main/addswap.sh -o addswap.sh && chmod +x addswap.sh && bash addswap.sh

检测环境

  • 本项目相关脚本执行前务必执行本脚本检测环境,如果不符合安装PVE的要求则无法使用后续的脚本
  • 检测本机IPV6的网络配置情况(有无IPV6都可安装,只是查询一下罢了)
  • 检测硬件配置是否满足最低要求
  • 检测硬件环境是否可嵌套虚拟化KVM类型的服务器
  • 检测系统环境是否可嵌套虚拟化KVM类型的服务器
  • 不可嵌套虚拟化KVM类型的服务器也可以开LXC虚拟化的服务器,但不推荐安装PVE,不如使用incus

国际

bash
bash <(wget -qO- --no-check-certificate https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

国内

bash
bash <(wget -qO- --no-check-certificate https://cdn.spiritlhl.net/https://raw.githubusercontent.com/oneclickvirt/pve/main/scripts/check_kernal.sh)

如果你需要更新IPV6信息再查询,那么执行以下命令后再查询

bash
rm -rf /usr/local/bin/pve_ipv6*
 rm -rf /usr/local/bin/pve_check_ipv6*
-rm -rf /usr/local/bin/pve_last_ipv6*


- +rm -rf /usr/local/bin/pve_last_ipv6*

+ \ No newline at end of file diff --git a/guide/pve/pve_qa.html b/guide/pve/pve_qa.html index e8b9bfaac..e2b08abd7 100644 --- a/guide/pve/pve_qa.html +++ b/guide/pve/pve_qa.html @@ -11,7 +11,7 @@ - + @@ -30,8 +30,8 @@ iptables -t filter -F service networking restart systemctl restart networking.service -cat /etc/iptables/rules.v4 | iptables-restore

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

spartanhost 中的独立服务器的Debian12(Debian11有问题)

interserver 中的VPS或独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

crunchbits 中的VPS

online.net 中的低配独立服务器的Debian12(Debian11有问题)

OVH 中的 Public Cloud 服务器 需要使用以下命令dd为纯净系统后安装

shell
bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 12 -pwd 'oneclickvirt139' --network "static"

此时dd后的系统用户名为root,密码为oneclickvirt139

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

scaleway 中的ARM架构的服务器

aws 中的ec2实例

Google cloud platform - GCP 的 AMD 服务器

- +cat /etc/iptables/rules.v4 | iptables-restore

目前已验证的VPS商家

可开设KVM虚拟化的NAT的商家

spartanhost 中的独立服务器的Debian12(Debian11有问题)

interserver 中的VPS或独立服务器

frantech 中的拉斯维加斯第二档

eugamehost 中的美国凤凰城黑五促销款

amhost 中的测试款

digitalocean 中的 Perminu Intel 和 Regular 4核款

skrime 中的 AMD Ryzen KVM Server 最低配款

webdock 中的 AMD KVM Server

4vps 中的 俄罗斯和希腊 测试款

hostaris 中的 德国款 (商家的系统模板有问题,IPV6已失效和Github的连通稳定性很差)

adtaq 中的最低配存储KVM服务器

nocix 中的独立服务器

crunchbits 中的VPS

online.net 中的低配独立服务器的Debian12(Debian11有问题)

OVH 中的 Public Cloud 服务器 需要使用以下命令dd为纯净系统后安装

shell
bash <(curl -sSL https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh) -debian 12 -pwd 'oneclickvirt139' --network "static"

此时dd后的系统用户名为root,密码为oneclickvirt139

只可开设LXC虚拟化的NAT的商家

腾讯云 中的无忧款和特惠款(学生机)

spectraip 中的KVM服务器

Linode 中美国专用CPU的最低配

hosthatch 中的特价高配服务器

hetzner 的cloud服务器

rackdog 的浮动IP的服务器

vultr 的Cloud普通服务器

azure 的普通机器

scaleway 中的ARM架构的服务器

aws 中的ec2实例

Google cloud platform - GCP 的 AMD 服务器

+ \ No newline at end of file diff --git a/guide/pve/pve_thanks.html b/guide/pve/pve_thanks.html index 960fc5da6..dae005449 100644 --- a/guide/pve/pve_thanks.html +++ b/guide/pve/pve_thanks.html @@ -11,7 +11,7 @@ - + @@ -19,8 +19,8 @@ -
Skip to content
- +
Skip to content
+ \ No newline at end of file diff --git a/hashmap.json b/hashmap.json index 7cc0bebe5..3c61b9ce6 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"en_guide_dashboardq.md":"47a5e6f0","en_guide_incus_incus_custom.md":"39901856","case_case9.md":"a77a6931","developer_index.md":"42177fda","en_guide_lxd_lxd_extra_config.md":"4b827bc6","en_guide_dashboard.md":"fca5171d","en_guide_docker_docker_build.md":"40c712cc","en_developer_index.md":"8e17c206","case_case6.md":"4268abbd","case_case3.md":"3cc37f04","guide_incus_incus_qa.md":"7f02f87a","en_guide_docker_docker_thanks.md":"60211572","case_index.md":"31c239ea","en_guide_docker_docker_install.md":"8be2e0bc","guide_lxd_lxd_install.md":"a0de469b","en_guide_lxd_lxd_custom.md":"33570adf","en_guide_pve_pve_install.md":"d7ec33d2","guide_lxd_lxd_custom.md":"ef3c0232","en_guide_incus_incus_qa.md":"0d6446a4","case_case4.md":"d96230dd","en_guide_incus_incus_thanks.md":"e4f4f8a2","en_guide_pve_pve_kvm.md":"aaa75259","guide_lxd_lxd_precheck.md":"c45ff16b","guide_pve_pve_kvm.md":"9e538c0b","en_guide_pve_pve_precheck.md":"e6029750","en_guide_lxd_lxd_lxc.md":"45359af9","en_guide_pve_pve_thanks.md":"29c67504","case_case2.md":"234d1013","en_guide_pve_pve_custom.md":"ec6c99ca","en_index.md":"ab8d8b0c","guide_lxd_lxd_qa.md":"2a493c77","guide_pve_pve_install.md":"6d0144f0","guide_docker_docker_install.md":"0a649a62","guide_docker_docker_build.md":"4e0dd4b9","en_guide_docker_docker_custom.md":"771bcdf0","guide_docker_docker_precheck.md":"69d9f97d","guide_docker_docker_qa.md":"0aee4a0a","en_developer_l10n.md":"5eba09c5","guide_docker_docker_thanks.md":"397cef8e","en_guide_incus_incus_precheck.md":"e6803761","guide_docker_docker_custom.md":"164e0249","en_guide_docker_docker_qa.md":"1b175edd","guide_incus_incus_custom.md":"33b064f6","en_guide_docker_docker_precheck.md":"19dbb70c","guide_incus_incus_extra_config.md":"02395c70","en_guide_incus_incus_install.md":"9ebcab51","case_case1.md":"b9564d08","case_case7.md":"5d8257cc","case_case5.md":"52e35f45","guide_incus_incus_thanks.md":"5edeab41","guide_incus_incus_install.md":"53141f57","index.md":"0a279716","en_guide_pve_pve_qa.md":"c0ef4b96","guide_pve_pve_precheck.md":"528df7f7","en_guide_incus_incus_extra_config.md":"1e914bd4","en_guide_lxd_lxd_thanks.md":"2e275bc4","guide_dashboardq.md":"0627a903","guide_dashboard.md":"470835d7","guide_lxd_lxd_lxc.md":"c575e7f1","case_case8.md":"a8e8a0b7","en_guide_pve_pve_lxc.md":"46f7cdac","en_guide_lxd_lxd_install.md":"60c0592b","en_guide_lxd_lxd_qa.md":"b147b0a2","guide_lxd_lxd_thanks.md":"bf90dd4e","guide_pve_pve_qa.md":"90b299b2","en_guide_incus_incus_lxc.md":"931f8d04","guide_pve_pve_thanks.md":"c25a64e0","en_guide_lxd_lxd_precheck.md":"a1c253bf","developer_l10n.md":"72198a1c","guide_pve_pve_lxc.md":"feb12f6c","guide_incus_incus_precheck.md":"06fccdff","guide_pve_pve_custom.md":"ff53ea5e","guide_incus_incus_lxc.md":"e4353099","guide_lxd_lxd_extra_config.md":"42a5570e"} +{"case_case6.md":"a1d43b05","case_case1.md":"1efd5dc7","case_index.md":"f0d9aed3","case_case7.md":"c0ccc55e","developer_index.md":"f1f373b6","case_case3.md":"8293ccbb","en_guide_dashboard.md":"70f095cd","en_guide_dashboardq.md":"451ef3d3","case_case4.md":"d73febb6","case_case5.md":"737f158a","developer_l10n.md":"ead72b05","case_case9.md":"4c62dc60","case_case8.md":"a697c113","case_case2.md":"ddbd7763","en_guide_lxd_lxd_install.md":"c99399c6","guide_incus_incus_qa.md":"1d499a76","guide_incus_incus_precheck.md":"675277a1","en_guide_lxd_lxd_thanks.md":"dd3cf7af","en_guide_incus_incus_lxc.md":"d5b89f52","en_guide_docker_docker_precheck.md":"f154cf81","en_guide_docker_docker_thanks.md":"58d7c8bd","en_guide_docker_docker_qa.md":"975af133","en_developer_l10n.md":"06b2854b","en_developer_index.md":"c37d643c","en_guide_incus_incus_extra_config.md":"3fb8c6f0","en_guide_docker_docker_custom.md":"4545c0e8","en_guide_docker_docker_install.md":"ebf201c6","en_guide_pve_pve_custom.md":"e5ada7ad","en_guide_pve_pve_install.md":"ca191c89","en_guide_pve_pve_precheck.md":"5d0c9712","en_guide_pve_pve_lxc.md":"159a973e","guide_docker_docker_thanks.md":"19fc7a3a","guide_docker_docker_qa.md":"23175bf1","guide_incus_incus_extra_config.md":"afcc013d","en_guide_lxd_lxd_qa.md":"3a3db8a0","guide_incus_incus_custom.md":"05cc68c1","en_guide_docker_docker_build.md":"c0a1970f","guide_lxd_lxd_custom.md":"6d233e17","guide_incus_incus_lxc.md":"835a1aed","guide_lxd_lxd_install.md":"5c2d2ef2","guide_pve_pve_thanks.md":"8da71c43","guide_pve_pve_precheck.md":"18b73d8d","guide_pve_pve_qa.md":"dd1ccc20","index.md":"891be179","guide_pve_pve_kvm.md":"d09847ba","guide_pve_pve_lxc.md":"23922f65","en_guide_lxd_lxd_custom.md":"4e1e128e","en_guide_lxd_lxd_lxc.md":"cf84ec31","guide_incus_incus_install.md":"1bdca540","en_guide_incus_incus_install.md":"862fc918","en_guide_incus_incus_custom.md":"076d7ef6","en_guide_pve_pve_thanks.md":"a59d4afc","guide_docker_docker_precheck.md":"edc49191","en_index.md":"e71a63b4","guide_docker_docker_install.md":"c822a4f1","en_guide_pve_pve_qa.md":"e54bee1e","en_guide_pve_pve_kvm.md":"c6439674","guide_dashboardq.md":"fc953816","guide_docker_docker_custom.md":"2bca6ce2","guide_dashboard.md":"5281fb91","en_guide_incus_incus_qa.md":"fb802786","en_guide_incus_incus_precheck.md":"58abf3c3","guide_docker_docker_build.md":"4f51af92","guide_lxd_lxd_extra_config.md":"48b186fc","en_guide_lxd_lxd_precheck.md":"faaec600","en_guide_incus_incus_thanks.md":"0f9a6707","guide_lxd_lxd_precheck.md":"5565b67b","guide_pve_pve_install.md":"5f546455","guide_incus_incus_thanks.md":"aa316315","guide_lxd_lxd_thanks.md":"8872b160","guide_pve_pve_custom.md":"73f7af65","guide_lxd_lxd_qa.md":"9f89cdb5","guide_lxd_lxd_lxc.md":"c086aeb1","en_guide_lxd_lxd_extra_config.md":"45b560fb"} diff --git a/index.html b/index.html index 3ad42ee1c..66765bb7b 100644 --- a/index.html +++ b/index.html @@ -11,7 +11,7 @@ - + @@ -20,7 +20,7 @@
Skip to content

一键虚拟化项目

开源、易于使用的服务器虚拟化项目

- + \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index dbdf96e59..716b8c1af 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://www.spiritlhl.net/case/case1.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/developer/2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/dashboard.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case2.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case3.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case4.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case6.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case5.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case7.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case8.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/case9.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/case/2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/developer/l10n.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/dashboardq.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_extra_config.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_kvm.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/pve/pve_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/index.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_build.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/developer/l10n.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_extra_config.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_build.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/dashboardq.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/developer/2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_extra_config.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_kvm.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_lxc.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/en/guide/dashboard.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_install.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_precheck.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_qa.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_custom.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/docker/docker_thanks.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_extra_config.html2024-06-23T09:03:43.000Zhttps://www.spiritlhl.net/guide/incus/incus_install.html2024-06-23T09:03:43.000Z \ No newline at end of file +https://www.spiritlhl.net/case/case2.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/developer/2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/dashboard.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case1.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case3.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case4.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case6.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case5.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case7.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case8.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/case9.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/case/2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/developer/l10n.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_build.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_extra_config.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/dashboardq.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/incus/incus_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_extra_config.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/lxd/lxd_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_kvm.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/index.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/pve/pve_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_build.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/developer/2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_extra_config.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/dashboardq.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/developer/l10n.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/dashboard.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/docker/docker_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_extra_config.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/incus/incus_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/lxd/lxd_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_install.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_kvm.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_lxc.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_qa.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/en/guide/pve/pve_thanks.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_precheck.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_custom.html2024-06-23T09:04:14.000Zhttps://www.spiritlhl.net/guide/docker/docker_install.html2024-06-23T09:04:14.000Z \ No newline at end of file