openwrt编译Dockerfile
一、Dockerfile
FROM ubuntu:20.04ENV TZ=Asia/ShanghaiRUN apt-get update && \apt-get install -y --no-install-recommends tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \dpkg-reconfigure --frontend noninteractive tzdata && \apt-get install -y --no-install-recommends \ack antlr3 asciidoc autoconf automake autopoint binutils bison build-essential \bzip2 ccache cmake cpio curl device-tree-compiler fastjar flex gawk gettext gcc-multilib g++-multilib \git gperf haveged help2man intltool libc6-dev-i386 libelf-dev libfuse-dev libglib2.0-dev libgmp3-dev \libltdl-dev libmpc-dev libmpfr-dev libncurses5-dev libncursesw5-dev libpython3-dev libreadline-dev \libssl-dev libtool lrzsz mkisofs msmtp ninja-build p7zip p7zip-full patch pkgconf python2.7 python3 \python3-pyelftools python3-setuptools qemu-utils rsync scons squashfs-tools subversion swig texinfo \uglifyjs upx-ucl unzip vim wget xmlto xxd zlib1g-dev sudo && \apt-get clean && \rm -rf /var/lib/apt/lists/*# RUN groupadd -r openwrt && useradd -r -g openwrt -m -d /home/openwrt openwrt# RUN chown -R openwrt:openwrt /home/openwrt# 创建非root用户并设置密码
ARG USERNAME=openwrt
ARG PASSWORD=1
RUN useradd -m -s /bin/bash $USERNAME \&& echo "$USERNAME:$PASSWORD" | chpasswd \&& usermod -aG sudo $USERNAME# 设置root用户密码
ARG ROOT_PASSWORD=1
RUN echo "root:$ROOT_PASSWORD" | chpasswdRUN echo "alias ls='ls --color=auto'" >> /etc/bash.bashrc \&& echo "PS1='\[\e[32m\]\u@\h:\w$\[\e[m\] '" >> /etc/bash.bashrcUSER $USERNAME
WORKDIR /home/$USERNAMEENV FORCE_UNSAFE_CONFIGURE=1CMD ["/bin/bash"]
二、Build
docker build -t openwrt_compile:1.0.0 .
三、Run
docker run -ti --name "led" -v $(pwd):/home/openwrt openwrt_compile:1.0.0
相关文章:
openwrt编译Dockerfile
一、Dockerfile FROM ubuntu:20.04ENV TZAsia/ShanghaiRUN apt-get update && \apt-get install -y --no-install-recommends tzdata && \ln -fs /usr/share/zoneinfo/$TZ /etc/localtime && \dpkg-reconfigure --frontend noninteractive tzdata &am…...
【C语言】分支与循环(循环篇)——结尾猜数字游戏实现
前言 C语言是一种结构化的计算机语言,这里指的通常是顺序结构、选择结构、循环结构,掌握这三种结构之后我们就可以解决大多数问题。 分支结构可以使用if、switch来实现,而循环可以使用for、while、do while来实现。 1. while循环 C语言中…...
【数据结构】链表篇
文章目录 1.链表的概念以及结构2.链表的分类2.1 单向或者双向2.2 带头或者不带头2.3 循环或者不循环2.4 无头单向非循环链表和带头双向循环链表 3.单链表的实现3.1 准备工作3.2 节点的创建3.3 单链表的释放3.4 打印链表3.5 单链表的尾插3.6 单链表的尾删3.7 单链表头删3.8 单链…...
Python SciPy介绍
在数据科学和工程领域,Python已经成为了一个不可或缺的工具,这主要得益于其强大的库和框架支持。其中,SciPy库作为Python科学计算的核心库之一,为研究人员、工程师和数据分析师提供了大量高效的算法和数学工具。本文将带您深入了解…...
docker镜像源
1、直接在服务器上创建这个文件,将镜像源配置在里面 /etc/docker/daemon.json {"registry-mirrors": ["https://do.nark.eu.org","https://dc.j8.work","https://docker.m.daocloud.io","https://dockerproxy.com&qu…...
【clion】clion打开文件目录卡死问题
巨卡,几乎无法打开,据说是fsnotifier64.exe 被限制了。删除 火绒就好了。 关闭windows defender 官方:关闭 Windows 安全中心中的Defender 防病毒保护 此时,删除火绒: 界面变这样了:...
[CR]厚云填补_GridFormer
GridFormer: Residual Dense Transformer with Grid Structure for Image Restoration in Adverse Weather Conditions Abstract 恶劣天气条件下的图像恢复是计算机视觉中的一个难点。在本文中,我们提出了一种新的基于变压器的框架GridFormer,它可以作为…...
PostgreSQL数据库内核(二):通过initdb传递guc参数
目录 增加guc参数 initdb参数传递 pg_ctl参数传递 参数验证 新增guc参数pg_test_parameter,支持从initdb和pg_ctl命令中传递/覆盖参数,使用场景是TDE透明加密指定算法或者某些定制化需求。 增加guc参数 pg源码是这样描述guc参数的:它是全局…...
rust常用的宏使用记录(九)
matches! 宏使用 matches! 是 Rust 标准库中一个非常有用的宏,它允许你方便地匹配一个表达式的结果是否符合某个模式。它的基本用法如下:matches!(expression, pattern) 这个宏返回一个布尔值,如果 expression 匹配 pattern,则返回…...
【Python机器学习】支持向量机——手写数字识别问题
基于SVM的数字识别步骤: 1、收集数据:提供的文本文件 2、准备数据:基于二值图像构造向量 3、分析数据:对图像向量进行目测 4、训练算法:采用两种不同的核函数,并对径向基核函数采用不同的设置来运行SMO算法…...
学习笔记-Cookie、Session、JWT
目录 一、验证码的生成与校验 1. 创建生成验证码的工具类 2. 写一个 Controller 3. 实现验证码验证 1. 获取验证码 2. 验证码请求过程 3. 验证码的校验 4. 原理说明 5. 验证 6. 总结 二、JWT登录鉴权 1. 为什么要做登录鉴权? 2. 什么是 JWT 3. JWT相比…...
题海战术,面试必胜秘诀
目录 1.Java 的优势是什么?2.什么是 Java 的多态特性?3.Java 中的参数传递是按值还是按引用?4.为什么 Java 不支持多重继承?5.什么是 Java 中的不可变类?总结 题目 来自面试鸭刷题神器 1.Java 的优势是什么? Java 的跨平台性、垃圾回收机制以及其强…...
设计模式详解(十九)——命令模式
命令模式简介 命令模式定义 命令模式(Command Pattern)是一种在面向对象程序设计中常用的行为型设计模式。命令模式的核心思想在于将请求封装成一个对象,从而使发出请求的责任和执行请求的责任分割开。它可以让请求发送者和请求接收者之间消…...
实战:MySQL数据同步神器之Canal
1.概叙 场景一:数据增量实时同步 项目中业务数据量比较大,每类业务表都达到千万级别,虽然做了分库分表,每张表数据控制在300W以下,但是效率还是达不到要求,为了提高查询效率,打算使用ES进行数…...
5.6软件工程-运维
运维 系统转换系统维护系统评价练习题 系统转换 新老系统的转换 系统转换是指:新系统开发完毕,投入运行,取代现有系统的过程,需要考虑多方面的问题,以实现与老系统的交接,有一下三种转换计划: …...
在JavaScript中如何确保构造函数只被new调用
构造函数是一个特殊的函数,用于初始化一个新创建的对象。它是在创建对象时自动调用的。构造函数通常用于为对象的属性赋值,或者执行其他必要的设置。 使用函数名大写字母开头,这是一种命名约定,用于区分构造函数和普通函数。如何…...
【数据结构算法经典题目刨析(c语言)】反转链表(图文详解)
💓 博客主页:C-SDN花园GGbond ⏩ 文章专栏:数据结构经典题目刨析(c语言) 目录 一、题目描述 二、思路分析 三、代码实现 一、题目描述: 二、思路分析 : 通过三个指针n1,n2,n3来实现链表的反转 1.首先初始化 n1为…...
机器学习之争:Python vs R,谁更胜一筹?
一、引言 随着人工智能和大数据的迅速发展,机器学习已成为现代科技的重要组成部分。在医疗、金融、零售、制造等多个领域,机器学习技术的应用无处不在。从数据分析到预测建模,再到深度学习,机器学习正在改变我们的工作和生活方式…...
Vulnhub靶机:JANGOW_ 1.0.1
目录 前言: 一、安装虚拟机Jangow:1.0.1靶机 二、Web部分 前言: 难度:简单,本文使用VirtualBox打开,下载地址: https://download.vulnhub.com/jangow/jangow-01-1.0.1.ova 一、安装虚拟机J…...
Python脚本实现USB自动复制文件
USB驱动器作为常见的数据存储设备,经常用于数据传输和备份。 然而,我们在手动处理文件复制可能效率低下且容易出错。 因此,我们可以利用Python编写脚本来自动化这一过程,提高效率和数据安全性。 准备工作 首先,我们需…...
Qwen3-TTS声音克隆实战:用3秒音频生成你的专属语音助手
Qwen3-TTS声音克隆实战:用3秒音频生成你的专属语音助手 1. 声音克隆技术带来的变革 想象一下,只需要录制3秒钟的语音,就能让AI完全模仿你的声音,用你的语调朗读任何文字内容。这不是科幻电影里的场景,而是Qwen3-TTS-…...
AI原生研发ROI断崖预警:2024Q2实测数据揭示——超61%项目在MVP后陷入“伪敏捷成本陷阱”
第一章:AI原生软件研发成本优化实战技巧 2026奇点智能技术大会(https://ml-summit.org) AI原生软件的研发成本常被模型训练开销主导,但实际可观测的浪费更多来自推理服务冗余、提示工程低效、向量数据库未压缩索引及本地开发环境重复构建。聚焦真实生产…...
别再为整层铜箔烦恼了!嘉立创EDA内电层局部优化技巧:电源分割与信号屏蔽实战
嘉立创EDA内电层高级优化:电源分割与信号屏蔽的工程实践 在高速电路设计中,电源分配网络(PDN)和信号完整性(SI)往往决定着整个系统的稳定性。传统四层板设计中,工程师习惯将中间两层分别设置为完整的VCC和GND平面,这种"整层铜…...
M-7J1R(ROSAHL)大型空间设计电解式除湿器模块,专为电气柜与大型展柜微环境 恒温恒湿方案
在工业电气柜、博物馆大型展柜和通信基站的庞大箱体中,由湿气引发的设备故障或文物损坏,其代价往往是巨大的。像传统除湿的有半导体冷凝式和传统的压缩机式除湿方案,在噪音、振动、冷凝水维护等方面很难达到效果,而 RO SAHL 的 M-…...
从MySQL转战MongoDB:一个后端开发者的避坑指南与核心概念对照手册
从MySQL转战MongoDB:一个后端开发者的避坑指南与核心概念对照手册 当你习惯了用SQL语句精确操控数据表,突然面对一个没有固定结构的文档数据库,那种感觉就像从规整的方格本跳进了涂鸦墙——自由,但也容易迷失方向。作为过来人&…...
千帆竞发:126颗卫星升空背后的全球卫星互联网竞速
2026年4月7日21时32分,长征八号运载火箭在海南商业航天发射场拔地而起,以“一箭十八星”的方式将千帆星座第七批18颗组网卫星送入预定轨道。发射取得圆满成功。此次发射后,千帆星座在轨卫星总数达到126颗,标志着我国自主可控的低轨…...
让旧iPhone重获新生:Legacy-iOS-Kit降级越狱全功能解析
让旧iPhone重获新生:Legacy-iOS-Kit降级越狱全功能解析 【免费下载链接】Legacy-iOS-Kit An all-in-one tool to restore/downgrade, save SHSH blobs, jailbreak legacy iOS devices, and more 项目地址: https://gitcode.com/gh_mirrors/le/Legacy-iOS-Kit …...
畜牧检测站综合监测系统设计与实现(有完整资料)
资料查找方式:特纳斯电子(电子校园网):搜索下面编号即可编号:T0542309M设计简介:本设计是基于单片机的畜牧检测站综合监测系统设计,主要实现以下功能:通过温湿度传感器检测温湿度 通…...
Linux下Python连接MySQL报错‘libstdc++.so.6: cannot allocate memory in static TLS block’的保姆级修复指南
Linux下Python连接MySQL报错‘libstdc.so.6: cannot allocate memory in static TLS block’的保姆级修复指南 最近在Linux服务器上部署Python应用时,不少开发者遇到了一个令人头疼的错误:当尝试通过mysqlclient连接MySQL数据库时,系统抛出li…...
OpenClaw权限管理:千问3.5-35B-A3B-FP8操作边界精细控制方案
OpenClaw权限管理:千问3.5-35B-A3B-FP8操作边界精细控制方案 1. 为什么需要权限管理? 去年夏天,我差点因为一个自动化脚本酿成大祸。当时我让OpenClaw帮我整理财务表格,结果因为模型误解了指令,差点删除了整个账本目…...
