当前位置: 首页 > news >正文

安装nerdctl和buildkitd脚本命令

#!/bin/bash
set -euo pipefail

# 检查是否以root权限运行
if [ "$(id -u)" -ne 0 ]; then
    echo "错误:请使用root权限或sudo运行本脚本" >&2
    exit 1
fi

# 检测openEuler系统(兼容大小写)
detect_distribution() {
    if [ -f /etc/os-release ]; then
        . /etc/os-release
        # 匹配ID为openEuler(兼容大小写,如"openEuler"或"openeuler")
        if [[ "$ID" =~ ^[Oo]pen[Ee]uler$ ]]; then
            echo "openeuler"
        else
            echo "unsupported"
        fi
    else
        echo "unsupported"
    fi
}

DISTRO=$(detect_distribution)
if [[ "$DISTRO" != "openeuler" ]]; then
    echo "错误:本脚本仅适用于openEuler系统" >&2
    exit 1
fi

# 安装前置依赖(openEuler 25.03使用dnf)
install_dependencies() {
    dnf update -y
    dnf install -y \
        curl \
        gnupg \
        ca-certificates \
        jq \
        tar \
        gzip \
        device-mapper-persistent-data \
        lvm2  # 容器存储依赖
}

# 安装containerd(使用openEuler官方仓库)
install_containerd() {
    # 安装最新稳定版containerd
    dnf install -y containerd

    # 优化containerd配置(适配openEuler 25.03的systemd和cgroupv2)
    sed -i '/SystemdCgroup =/c\SystemdCgroup = true' /etc/containerd/config.toml
    sed -i 's/cri\.containerd\.runtime\.v1\.linux/cri.containerd.untrusted-workload.v1.linux/g' /etc/containerd/config.toml  # 启用非信任工作负载支持

    # 重启并启用服务
    systemctl daemon-reload
    systemctl restart containerd
    systemctl enable containerd
}

# 安装最新版nerdctl(适配openEuler架构)
install_nerdctl() {
    # 获取最新稳定版(排除预发布)
    LATEST_NERDCTL=$(curl -s https://api.github.com/repos/containerd/nerdctl/releases/latest | jq -r '.tag_name')
    if [[ -z "$LATEST_NERDCTL" || "$LATEST_NERDCTL" == "null" ]]; then
        echo "获取nerdctl最新版本失败,可能是网络问题" >&2
        exit 1
    fi

    # 识别架构(支持x86_64/aarch64)
    ARCH=$(case $(uname -m) in
        x86_64) echo "amd64" ;;
        aarch64) echo "arm64" ;;
        *) echo "unsupported"; exit 1 ;;
    esac)
    
    echo "下载文件:https://github.com/containerd/nerdctl/releases/download/${LATEST_NERDCTL}/nerdctl-${LATEST_NERDCTL#v}-linux-${ARCH}.tar.gz"

    # 下载并安装
    curl -fsSL "https://github.com/containerd/nerdctl/releases/download/${LATEST_NERDCTL}/nerdctl-${LATEST_NERDCTL#v}-linux-${ARCH}.tar.gz" \
        | tar -xz -C /usr/local/bin

    # 验证安装
    if ! command -v nerdctl &> /dev/null; then
        echo "nerdctl安装失败" >&2
        exit 1
    fi
}

# 安装buildkit并配置systemd服务(适配openEuler)
install_buildkit() {
    # 获取最新稳定版
    LATEST_BUILDKIT=$(curl -s https://api.github.com/repos/moby/buildkit/releases/latest | jq -r '.tag_name')
    if [[ -z "$LATEST_BUILDKIT" || "$LATEST_BUILDKIT" == "null" ]]; then
        echo "获取buildkit最新版本失败,可能是网络问题" >&2
        exit 1
    fi

    # 识别架构
    ARCH=$(case $(uname -m) in
        x86_64) echo "amd64" ;;
        aarch64) echo "arm64" ;;
        *) echo "unsupported"; exit 1 ;;
    esac)
    
    # 下载并安装
    curl -fL "https://github.com/moby/buildkit/releases/download/${LATEST_BUILDKIT}/buildkit-${LATEST_BUILDKIT}.linux-${ARCH}.tar.gz" \
        | tar -xz -C /usr/local

    # 创建buildkitd服务文件(优化openEuler集成)
    cat > /etc/systemd/system/buildkitd.service <<EOF
[Unit]
Description=BuildKit Daemon for openEuler 25.03
Documentation=https://github.com/moby/buildkit
After=network.target containerd.service
Requires=containerd.service

[Service]
Type=simple
ExecStart=/usr/local/bin/buildkitd \
    --oci-worker=true \
    --containerd-worker=true \
    --containerd-worker-namespace=k8s.io \
    --addr=unix:///run/buildkit/buildkitd.sock \
    --oci-worker-snapshotter=overlayfs
Restart=on-failure
RestartSec=5
LimitNOFILE=1048576
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

[Install]
WantedBy=multi-user.target
EOF

    # 启动服务并配置开机自启
    systemctl daemon-reload
    systemctl start buildkitd
    systemctl enable buildkitd
}

# 主执行流程
echo "=== 检测到openEuler 25.03系统,开始安装 ==="

echo "=== 1/4 安装前置依赖 ==="
install_dependencies

echo "=== 2/4 安装并配置containerd ==="
install_containerd

echo "=== 3/4 安装最新版nerdctl ==="
install_nerdctl

echo "=== 4/4 安装并配置buildkit ==="
install_buildkit

echo "=== 安装验证 ==="
echo "nerdctl版本: $(nerdctl --version)"
echo "buildkitd状态: $(systemctl is-active buildkitd)"
echo "containerd状态: $(systemctl is-active containerd)"

echo "安装完成!nerdctl和buildkit已配置为开机启动"
    

相关文章:

安装nerdctl和buildkitd脚本命令

#!/bin/bash set -euo pipefail # 检查是否以root权限运行 if [ "$(id -u)" -ne 0 ]; then echo "错误&#xff1a;请使用root权限或sudo运行本脚本" >&2 exit 1 fi # 检测openEuler系统&#xff08;兼容大小写&#xff09; detect_distrib…...

HTTP与HTTPS协议的核心区别

HTTP与HTTPS协议的核心区别 数据传输安全性 HTTP采用明文传输&#xff0c;数据易被窃听或篡改&#xff08;如登录密码、支付信息&#xff09;&#xff0c;而HTTPS通过SSL/TLS协议对传输内容加密&#xff0c;确保数据完整性并防止中间人攻击。例如&#xff0c;HTTPS会生成对称加…...

51单片机仿真突然出问题

最近发现仿真出问题了&#xff0c;连最简单的程序运行结果都不对&#xff0c;比如&#xff0c;左移位<<&#xff0c;如果写P1 << 1&#xff1b;则没有问题&#xff0c;但写成P1 << cnt&#xff1b;就不对&#xff08;cnt已经定义过&#xff0c;而且赋了初值&…...

(C语言)超市管理系统 (正式版)(指针)(数据结构)(清屏操作)(文件读写)(网页版预告)(html)(js)(json)

目录 前言&#xff1a; 源代码&#xff1a; product.h product.c fileio.h fileio.c main.c json_export.h json_export.c tasks.json idex.html script.js 相关步骤&#xff1a; 第一步&#xff1a; 第二步&#xff1a; 第三步&#xff1a; 第四步&#xff1a; 第五步…...

uni-app小程序登录后…

前情 最近新接了一个全新项目&#xff0c;是类似商城的小程序项目&#xff0c;我负责从0开始搭建小程序&#xff0c;我选用的技术栈是uni-app技术栈&#xff0c;其中就有一个用户登录功能&#xff0c;小程序部分页面是需要登录才可以查看的&#xff0c;对于未登录的用户需要引…...

从零开始理解Jetty:轻量级Java服务器的入门指南

目录 一、Jetty是什么&#xff1f;先看一个生活比喻 二、5分钟快速入门&#xff1a;搭建你的第一个Jetty服务 步骤1&#xff1a;Maven依赖配置 步骤2&#xff1a;编写简易Servlet&#xff08;厨房厨师&#xff09; 步骤3&#xff1a;组装服务器&#xff08;餐厅开业准备&am…...

如何免费在线PDF转换成Excel

咱们工作中是不是经常遇到这种头疼事儿&#xff1f;辛辛苦苦从别人那里拿到PDF文件&#xff0c;想改个数据调个格式&#xff0c;结果发现根本没法直接编辑&#xff01; 数据被困住&#xff1a;PDF表格无法直接计算/筛选&#xff0c;手动录入太反人类&#xff01; 格式大崩坏&…...

StarRocks MCP Server 开源发布:为 AI 应用提供强大分析中枢

过去&#xff0c;开发者要让大模型&#xff08;LLM&#xff09;使用数据库查询数据&#xff0c;往往需要开发专属插件、设计复杂的接口或手动构建 Prompt&#xff0c;这不仅费时费力&#xff0c;而且很难在不同模型之间复用。StarRocks MCP Server 提供了一个“通用适配器”接口…...

Vue百日学习计划Day21-23天详细计划-Gemini版

总目标: 在 Day 21-23 完成 Vue.js 的介绍学习、环境搭建&#xff0c;并成功运行第一个 Vue 3 项目&#xff0c;理解其基本结构。 Day 21: Vue.js 介绍与概念理解 (~3 小时) 本日目标: 理解 Vue.js 是什么、渐进式框架的概念以及选择 Vue 的原因。初步了解 Vite 是什么及其作用…...

JS逆向-某易云音乐下载器

文章目录 介绍下载链接Robots文件搜索功能JS逆向**函数a&#xff1a;生成随机字符串****函数b&#xff1a;AES-CBC加密****函数c&#xff1a;RSA公钥加密** 歌曲下载总结 介绍 在某易云音乐中&#xff0c;很多歌曲听是免费的&#xff0c;但下载需要VIP&#xff0c;此程序旨在“…...

Qt与Hid设备通信

什么是HID&#xff1f; HID&#xff08;Human Interface Device&#xff09;是‌直接与人交互的电子设备‌&#xff0c;通过标准化协议实现用户与计算机或其他设备的通信&#xff0c;典型代表包括键盘、鼠标、游戏手柄等。‌ 为什么HID要与qt进行通信&#xff1f; 我这里的应…...

QT使用QXlsx读取excel表格中的图片

前言 读取excel表格中的图片的需求比较小众&#xff0c;QXlsx可以操作excel文档&#xff0c;进行图片读取、插入操作&#xff0c;本文主要分享单独提取图片和遍历表格提取文字和图片。 源码下载 github 开发环境准备 把下载的代码中的QXlsx目录&#xff0c;整个拷贝到所创建…...

二叉树进阶

一、二叉搜索树 1.二叉搜索树的概念 二叉搜索树又称二叉排序树&#xff0c;它也可以是一棵空树&#xff0c;或是具备以下性质的树&#xff1a; 1.1 若它的左子树不为空&#xff0c;则它左子树上所有节点的值都小于根节点的值。 1.2 若它的右子树不为空&#xff0c;则它右子…...

腾讯 CodeBuddy 杀入 AI 编程赛道,能否撼动海外工具霸主地位?

在 AI 编程助手领域&#xff0c;海外的 Cursor 等工具风头正劲&#xff0c;如今腾讯带着 CodeBuddy 隆重登场&#xff0c;国产 AI 编程助手能否借其之力崛起&#xff1f;让我们一探究竟。 官网&#xff1a; 腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 实战安装教程 …...

项目QT+ffmpeg+rtsp(二)——海康威视相机测试

文章目录 前言一、验证RTSP地址的有效性1.1 使用VLC播放器验证1.2 使用FFmpeg命令行验证1.3 使用Python代码检查网络连接1.4 检查摄像头Web界面1.5 使用RTSP客户端工具二、关于IPV4的地址2.1 原来2.1.1 原因2.2 解决2.3 显示前言 昨晚拿到一个海康威视的相机,是连接上了交换机…...

vscode用python开发maya联动调试设置

如何在VScode里编写Maya Python脚本_哔哩哔哩_bilibili1 包括1&#xff0c;maya的python全面在vscode支持&#xff0c;2&#xff0c;通过mayacode发送到maya&#xff0c;3同步调试 import maya.cmds as cmds 1、让 maya.cmds编译通过 下载Autodesk_Maya_2018_6_Update_DEVK…...

Postman遇到脚本不支持replaceIn函数

目录&#xff1a; 1、问题现象2、代码处理3、执行结果 1、问题现象 2、代码处理 function replaceVariables(template) {// 获取所有变量&#xff08;环境变量全局变量&#xff09;const variables pm.environment.toObject();const globalVars pm.globals.toObject();const…...

精益数据分析(64/126):移情阶段的用户触达策略——从社交平台到精准访谈

精益数据分析&#xff08;64/126&#xff09;&#xff1a;移情阶段的用户触达策略——从社交平台到精准访谈 在创业的移情阶段&#xff0c;精准找到目标用户并开展深度访谈是验证需求的关键。今天&#xff0c;我们结合《精益数据分析》中的方法论&#xff0c;探讨如何利用Twit…...

turn.js与 PHP 结合使用来实现 PDF 文件的页面切换效果

将 Turn.js 与 PHP 结合使用来实现 PDF 文件的页面切换效果&#xff0c;你需要一个中间步骤将 PDF 转换为 Turn.js 可以处理的格式&#xff08;如 HTML 页面或图片&#xff09;。以下是实现这一功能的步骤和示例代码&#xff1a; 步骤 1: 安装必要的库 首先&#xff0c;你需要…...

SQL Server 与 Oracle 常用函数对照表

一、字符串处理函数 SQL Server 函数SQL Server 实例Oracle 函数Oracle 实例输出结果CONCATSELECT CONCAT(A, B, C);CONCATSELECT CONCAT(A, B) FROM DUAL;ABC&#xff08;SQL&#xff09; AB&#xff08;Oracle&#xff09;SUBSTRINGSELECT SUBSTRING(Hello, 2, 3);SUBSTRSEL…...

数据治理新纪元:全面解读TSDDITAI系列评估规范

在数字化转型的浪潮中&#xff0c;数据已成为驱动业务增长和创新的核心要素。然而&#xff0c;如何确保大数据产品、企业、人才及数据资源的优质与合规&#xff0c;成为了摆在行业面前的重大课题。为此&#xff0c;TSDDITAI系列评估规范应运而生&#xff0c;为大数据产业的健康…...

电子电路:什么是色环电阻器,怎么识别和计算阻值?

识别和计算色环电阻的阻值需要掌握颜色编码规则和基本步骤。以下是具体方法及窍门: 一、色环电阻的基本规则 色环数量: 4环电阻:前2环为有效数字,第3环为倍乘(10ⁿ),第4环为误差。5环电阻:前3环为有效数字,第4环为倍乘,第5环为误差。6环电阻(较少见):前3环为有效数…...

UE中的各种旋转

1 直接修改第三人称玩家的角度 注意不是修改玩家的actor或者pawn&#xff0c;而是修改controller的旋转 这只会修改相机的方向&#xff0c;不会修改角色的方向&#xff0c;因为第三人控制器的根物体不受controller控制&#xff0c;而相机弹簧臂受controller控制 如果修改角色…...

游戏引擎学习第289天:将视觉表现与实体类型解耦

回顾并为今天的工作设定基调 我们正在继续昨天对代码所做的改动。我们已经完成了“脑代码&#xff08;brain code&#xff09;”的概念&#xff0c;它本质上是一种为实体构建的自组织控制器结构。现在我们要做的是把旧的控制逻辑迁移到这个新的结构中&#xff0c;并进一步测试…...

NestJS——日志、NestJS-logger、pino、winston、全局异常过滤器

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…...

list重点接口及模拟实现

list功能介绍 c中list是使用双向链表实现的一个容器&#xff0c;这个容器可以实现。插入&#xff0c;删除等的操作。与vector相比&#xff0c;vector适合尾插和尾删&#xff08;vector的实现是使用了动态数组的方式。在进行头删和头插的时候后面的数据会进行挪动&#xff0c;时…...

Linux | mdadm 创建软 RAID

注&#xff1a;本文为 “Linux mdadm RAID” 相关文章合辑。 略作重排&#xff0c;未整理去重。 如有内容异常&#xff0c;请看原文。 Linux 下用 mdadm 创建软 RAID 以及避坑 喵ฅ・&#xfecc;・ฅ Oct 31, 2023 前言 linux 下组软 raid 用 mdadm 命令&#xff0c;multi…...

迁移学习:解锁AI高效学习与泛化能力的密钥

前言 在人工智能&#xff08;AI&#xff09;技术日新月异的今天&#xff0c;迁移学习&#xff08;Transfer Learning&#xff09;作为一项革命性技术&#xff0c;正深刻改变着机器学习领域的格局。 它不仅让模型能够像人类一样“举一反三”&#xff0c;更在加速模型开发、提升性…...

前端-HTML元素

目录 HTML标签是什么&#xff1f; 什么是HTML元素&#xff1f; HTML元素有哪些分类方法&#xff1f; 什么是HTML头部元素 更换路径 注&#xff1a;本文以leetbook为基础 HTML标签是什么&#xff1f; HTML标签是HTML语言中最基本单位和重要组成部分 虽然它不区分大小写&a…...

STM32之蜂鸣器和按键

一、蜂鸣器的原理与应用 基本概念 蜂鸣器是一种一体化结构的电子讯响器&#xff0c;采用直流电压供电&#xff0c;广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中作发声器件。 工作原理 蜂鸣器一般分为两类&#xff1a;有源…...

H3C UIS 超融合管理平台原理解读以及日常运维实操与故障处理

前言&#xff1a;超融合&#xff08;Hyper-Converged Infrastructure, HCI&#xff09;是将计算、存储、网络和虚拟化资源整合到统一硬件平台中&#xff0c;并通过软件定义技术实现资源池化与灵活管理的架构。H3C&#xff08;新华三&#xff09;和华为作为国内领先的ICT厂商&am…...

【强化学习】#5 时序差分学习

主要参考学习资料&#xff1a;《强化学习&#xff08;第2版&#xff09;》[加]Richard S.Suttion [美]Andrew G.Barto 著 文章源文件&#xff1a;https://github.com/INKEM/Knowledge_Base 缩写说明 DP&#xff1a;动态规划GPI&#xff1a;广义策略迭代MC&#xff1a;蒙特卡洛…...

Day119 | 灵神 | 二叉树 | 二叉树的最近共公共祖先

Day119 | 灵神 | 二叉树 | 二叉树的最近共公共祖先 236.二叉树的最近共公共祖先 236. 二叉树的最近公共祖先 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a; 二叉树的最近公共祖先【基础算法精讲 12】_哔哩哔哩_bilibili 首先我们采用后序遍历 递归函数返回值…...

Elasticsearch 性能优化面试宝典

Elasticsearch 性能优化面试宝典 🚀 目录 设计调优 🏗️写入调优 ⚡查询调优 🔍综合设计 💎总结 📝设计调优 🏗️ 面试题1:索引设计优化 题目: 假设需要设计一个电商商品索引,日增数据量1TB,要求支持多维度查询(名称、分类、价格区间)。请说明索引设计的关…...

mysql数据库-中间件MyCat

1. MyCat简介 在整个 IT 系统架构中&#xff0c;数据库是非常重要&#xff0c;通常又是访问压力较大的一个服务&#xff0c;除了在程序开发的本身做优化&#xff0c;如&#xff1a; SQL 语句优化、代码优化&#xff0c;数据库的处理本身优化也是非常重要的。主从、热备、分表分…...

制作大风车动画

这个案例的风车旋转应用了图形变换来实现&#xff0c;速度和缩放比例应用slider来实现&#xff0c;其中图片的速度&#xff0c;图片大小的信息通过State来定义变量管理&#xff0c;速度和和缩放比例的即时的值通过Prop来管理。 1. 案例效果截图 2. 案例运用到的知识点 2.1. 核…...

嘉立创EDA成图:文件管理

在 工程 文 件夹 中 新建 一 个以 自 己选 手 编号 后 8 位 命名 的 项目 工 程文 件 按要求名字命名&#xff08;这里以日期命名&#xff09; 选择半离线或者全离线 添加路径 1. 新建 图 纸文 件 &#xff0c;文 件 名为 moban.elibz&#xff1b; 点击保存之后打开文件夹有这…...

Vim编辑器命令模式操作指南

Vim 的命令模式&#xff08;即 Normal 模式&#xff09;是 Vim 的核心操作模式&#xff0c;用于执行文本编辑、导航、搜索、保存等操作。以下是命令模式下的常用操作总结&#xff1a; 1. 模式切换 进入命令模式&#xff1a;在任何模式下按 Esc 键&#xff08;可能需要多次按&a…...

jvm安全点(一)openjdk17 c++源码垃圾回收安全点信号函数处理线程阻塞

1. 信号处理入口​​ ​​JVM_HANDLE_XXX_SIGNAL​​ 是 JVM 处理信号的统一入口&#xff0c;负责处理 SIGSEGV、SIGBUS 等信号。​​javaSignalHandler​​ 是实际注册到操作系统的信号处理函数&#xff0c;直接调用 JVM_HANDLE_XXX_SIGNAL。 ​​2. 安全点轮询页的识别​​ …...

手机打电话时由对方DTMF响应切换多级IVR语音应答(二)

手机打电话时由对方DTMF响应切换多级IVR语音应答&#xff08;二&#xff09; --本地AI电话机器人 一、前言 前面的篇章《手机打电话时由对方DTMF响应切换多级IVR语音应答&#xff08;一&#xff09;》中&#xff0c;我们从理论的角度论述了“根据对方按下DTMF值响应多级IVR”…...

【Java ee初阶】HTTP(2)

一、HTTP的方法 方法 说明 支持的HTTP协议版本 GET 获取资源 1.0、1.1 POST 传输实体主体 1.0、1.1 PUT 传输文件 1.0、1.1 HEAD 获得报文首部 1.0、1.1 DELETE 删除文件 1.0、1.1 OPTIONS 询问支持的方法 1.1 TRACE 追踪路径 1.1 CONNECT 要求用隧道…...

计算机视觉与深度学习 | Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测(完整源码和数据)

EMD-SSA-VMD-LSTM-Attention 一、完整代码实现二、代码结构解析三、关键数学公式四、参数调优建议五、性能优化方向六、工业部署建议 以下是用Python实现EMD-SSA-VMD-LSTM-Attention时间序列预测的完整解决方案。该方案结合了四层信号分解技术与注意力增强的深度学习模型&#…...

Java 应用如何实现 HTTPS:加密数据传输的实用指南

Java 应用如何实现 HTTPS&#xff1a;加密数据传输的实用指南 在当今的互联网环境中&#xff0c;数据安全至关重要&#xff0c;HTTPS 作为加密的数据传输协议&#xff0c;为 Java 应用提供了安全通信的保障。本文将深入探讨 Java 应用如何实现 HTTPS&#xff0c;通过详细代码实…...

手机打电话时如何将通话对方的声音在手机上识别成文字

手机打电话时如何将通话对方的声音在手机上识别成文字 --本地AI电话机器人 上一篇&#xff1a;手机打电话时由对方DTMF响应切换多级IVR语音应答&#xff08;一&#xff09; 下一篇&#xff1a;手机打电话时由对方DTMF响应切换多级IVR语音应答&#xff08;二&#xff09; 一、…...

18.自动化生成知识图谱的多维度质量评估方法论

文章目录 一、结构维度评估1.1 拓扑结构评估1.1.1 基础图论指标1.1.2 层级结构指标 1.2 逻辑一致性评估1.2.1 形式逻辑验证1.2.2 约束满足度 二、语义维度评估2.1 语义一致性评估2.1.1 标签语义分析2.1.2 关系语义评估 2.2 语义表示质量2.2.1 嵌入质量2.2.2 上下文语义评估 三、…...

W5500使用ioLibrary库创建TCP客户端

1、WIZnet全硬件TCP/IP协议栈 WIZnet全硬件TCP/IP协议栈,支持TCP,UDP,IPv4,ICMP,ARP,IGMP以及PPPoE协议。 以太网&#xff1a;支持BSD和WIZCHIP&#xff08;W5500/W5300/W5200/W5100/W5100S&#xff09;的SOCKET APIs驱动程序。 互联网&#xff1a; DHCP客户端 DNS客户端 FTP客…...

2025B难题练习

1.启动多任务排序 拓扑排序 每次选入度为0的点 对每次选的点进行排序 package mainimport ("bufio""fmt""os""slices""strings" )func main() {scanner : bufio.NewScanner(os.Stdin)scanner.Scan()text : scanner.Text()…...

20250517让NanoPi NEO core开发板在Ubuntu core16.04.2下支持TF卡的热插拔

20250517让NanoPi NEO core开发板在Ubuntu core16.04.2下支持TF卡的热插拔 2025/5/17 17:52 缘起&#xff1a;实测NanoPi NEO core开发板上电之后&#xff0c;后插入的TF卡不认/不支持热插拔。 Ubuntu core16.04.2 Ubuntu core20.04 Ubuntu core16.04.3 用NanoPi NEO core开发板…...

Vue百日学习计划Day19-20天详细计划-Gemini版

重要提示&#xff1a; 番茄时钟&#xff1a; 每个番茄钟为25分钟学习&#xff0c;之后休息5分钟。每完成4个番茄钟&#xff0c;进行一次15-30分钟的长休息。动手实践&#xff1a; DevTools 的使用和 Git 命令的掌握都需要大量的实际操作。请务必边学边练。环境准备&#xff1a…...

Uniapp、Flutter 和 React Native 全面对比

文章目录 前言Uni-app、Flutter 和 React Native 跨平台框架对比报告1. 性能对比2. 跨平台能力3. 学习曲线4. 社区生态与第三方库5. 原生能力扩展6. UI 渲染能力7. 企业支持与典型使用场景8. 开发效率与工具链 前言 将对 Uniapp、Flutter 和 React Native 进行全面对比&#x…...