Linux delete define files in correct dir and sub-dir

本文介绍了一种使用find命令结合-exec选项来查找并删除目录下所有名为.svn的文件夹的方法。

 find ./ -name ".svn" -exec rm -rf {} \;


find the files and replace in {}

具有多种最大功率点跟踪(MPPT)方法的光伏发电系统(P&O-增量法-人工神经网络-模糊逻辑控制-粒子群优化)之使用粒子群算法的最大功率点追踪(MPPT)(Simulink仿真实现)内容概要:本文介绍了一个涵盖多个科研领域的综合性MATLAB仿真资源集合,重点聚焦于光伏发电系统中基于粒子群优化(PSO)算法的最大功率点追踪(MPPT)技术的Simulink仿真实现。文档还列举了多种MPPT方法(如P&O、增量电导法、神经网络、模糊逻辑控制等),并展示了该团队在电力系统、智能优化算法、机器学习、路径规划、无人机控制、信号处理等多个方向的技术服务能力与代码实现案例。整体内容以科研仿真为核心,提供大量可复现的Matlab/Simulink模型和优化算法应用实例。; 适合人群:具备一定电力电子、自动控制或新能源背景,熟悉MATLAB/Simulink环境,从事科研或工程仿真的研究生、科研人员及技术人员。; 使用场景及目标:①学习并实现光伏系统中基于粒子群算法的MPPT控制策略;②掌握多种智能优化算法在电力系统与自动化领域的建模与仿真方法;③获取可用于论文复现、项目开发和技术攻关的高质量仿真资源。; 阅读建议:建议结合提供的网盘资料,按照研究方向选取对应模块进行实践,重点关注Simulink模型结构与算法代码逻辑的结合,注重从原理到仿真实现的全过程理解,提升科研建模能力。
user@ubuntu:~/nvr8064/torchlight$ find . -name "*.mk" -o -name "Makefile*" | xargs grep -l "openssl" ./dl/openssl-1.1.1w/Makefile ./tmp/info/.files-packageinfo.mk ./target/sdk/files/package/depend.mk ./package/openssl/engine.mk ./package/openssl/Makefile ./package/dropbear/Makefile ./package/mariadb/Makefile ./package/hostapd/Makefile ./package/zlib/Makefile ./build_dir/host/u-boot-2020.10/tools/Makefile ./build_dir/host/u-boot-2020.10/arch/arm/mach-k3/config.mk ./build_dir/target-aarch64-ca76ca55-linux/ffmpeg-3.3/libavformat/Makefile ./build_dir/target-aarch64-ca76ca55-linux/openssl-1.1.1w/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/server/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/server/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/libtest/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/libtest/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/unit/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/unit/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/data/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/data/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/http/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/http/clients/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/http/clients/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/http/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/certs/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/certs/scripts/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/certs/scripts/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/tests/certs/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/lib/Makefile.mk ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/lib/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/lib/Makefile.inc ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/lib/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/Makefile.dist ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/src/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/src/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/winbuild/MakefileBuild.vc ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/packages/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/packages/vms/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/packages/vms/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/packages/vms/Makefile.am ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/packages/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/scripts/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/scripts/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/include/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/include/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/include/curl/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/include/curl/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/Makefile.am ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/examples/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/examples/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/libcurl/opts/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/libcurl/opts/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/libcurl/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/libcurl/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/cmdline-opts/Makefile.in ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/cmdline-opts/Makefile ./build_dir/target-aarch64-ca76ca55-linux/curl-8.11.1/docs/Makefile
12-23
你运行了: ```bash find . -name "*.mk" -o -name "Makefile*" | xargs grep -l "openssl" ``` 得到了关键结果: ```text ./package/openssl/engine.mk ./package/openssl/Makefile ``` 🎯 **恭喜!你找到了真正的包定义文件路径!** --- ## ✅ 正确修改位置:`./package/openssl/Makefile` 这个就是控制 OpenSSL 编译的核心 Makefile,**你应该修改它**。 > ❌ 不要改 `dl/openssl-1.1.1w/Makefile`(临时生成) > ✅ 要改 `package/openssl/Makefile`(源码控制) --- ### 🔧 Step 1: 查看当前 Makefile 内容 ```bash cat ./package/openssl/Makefile ``` 你会看到类似结构(可能是基于 OpenWrt 的简化版): ```makefile include $(TOPDIR)/rules.mk PKG_NAME:=openssl PKG_VERSION:=1.1.1w PKG_RELEASE:=1 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://www.openssl.org/source/ PKG_HASH:=... include $(INCLUDE_DIR)/package.mk define Package/libopenssl SECTION:=libs CATEGORY:=Libraries TITLE:=OpenSSL libcrypto and libssl DEPENDS:=+zlib endef define Build/Configure (cd $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION); \ $(TARGET_CONFIGURE_OPTS) \ ./Configure \ --prefix=/usr \ --openssldir=/etc/ssl \ --libdir=lib \ $(if $(findstring g,$(OPENWRT_VERBOSE)),,--quiet) \ shared \ no-comp \ no-threads \ linux-aarch64 \ -fPIC \ ) endef $(eval $(call BuildPackage,libopenssl)) ``` --- ### ✅ Step 2: 修改 `Build/Configure` 添加 `enable-engine` 编辑文件: ```bash nano ./package/openssl/Makefile ``` 在 `./Configure` 参数中加入: ```diff shared \ no-comp \ no-threads \ + enable-engine \ linux-aarch64 \ ``` 📌 完整示例如下: ```makefile define Build/Configure (cd $(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION); \ $(TARGET_CONFIGURE_OPTS) \ ./Configure \ --prefix=/usr \ --openssldir=/etc/ssl \ --libdir=lib \ $(if $(findstring g,$(OPENWRT_VERBOSE)),,--quiet) \ shared \ no-comp \ no-threads \ enable-engine \ # ← 新增这一行 linux-aarch64 \ -fPIC \ ) endef ``` > ⚠️ 注意: > - 不是 `--enable-engine`,而是 `enable-engine` > - 每个参数后加 `\` 表示继续下一行(最后一行不加) --- ### ✅ Step 3: 清理并重新编译 #### 🧹 清理旧构建数据 ```bash # 删除 build_dir 中的 openssl 目录 rm -rf build_dir/target-aarch64-ca76ca55-linux/openssl-1.1.1w/ # 可选:清理 staging_dir 中的安装记录 rm -rf staging_dir/target-aarch64-ca76ca55-linux/root-novatek/usr/lib/libcrypto* ``` #### ▶️ 重新编译 OpenSSL 运行你的构建命令。常见方式有: ```bash # 方法一:单独编译 openssl 包 make package/openssl/compile V=s # 方法二:如果系统使用全量构建脚本 ./build.sh all # 或 vendor_build.sh 等(根据文档) ``` > 如果不知道怎么单独编译,可以尝试搜索: > > ```bash > find . -type f -executable -name "build*" -o -name "make*" > ``` --- ### ✅ Step 4: 验证 ENGINE_by_id 是否存在 编译完成后再次检查符号: ```bash readelf -Ws ./build_dir/target-aarch64-ca76ca55-linux/openssl-1.1.1w/libcrypto.so.1.1 | grep ENGINE_by_id ``` ✅ 成功输出应为: ```text 1234: 000000000005c3f0 112 FUNC GLOBAL DEFAULT 11 ENGINE_by_id ``` 如果没有,请确认: - 是否真的执行了新编译(不是用了缓存) - `V=s` 日志中是否出现 `enable-engine` - 是否拼写错误(比如写成 `enable_engines`) --- ## 💡 Bonus: 检查是否还支持其他 engine 函数(可选) 你可以看看有没有更多 engine 相关符号: ```bash readelf -Ws ./build_dir/target-aarch64-ca76ca55-linux/openssl-1.1.1w/libcrypto.so.1.1 | grep -i engine ``` 常见输出包括: ```text ENGINE_by_id ENGINE_load_builtin_engines ENGINE_register_all_complete ENGINE_ctrl_cmd_string ``` 如果有这些,说明 engine 子系统已完整启用。 --- ## ✅ 总结:你现在必须做的事清单 | 步骤 | 命令 | |------|------| | 1. 编辑主 Makefile | `nano ./package/openssl/Makefile` | | 2. 添加 `enable-engine` | 在 `./Configure` 参数中添加 | | 3. 清理旧构建 | `rm -rf build_dir/.../openssl-1.1.1w/` | | 4. 重新编译 | `make package/openssl/compile V=s` | | 5. 验证符号 | `readelf -Ws ...libcrypto.so.1.1 \| grep ENGINE_by_id` | 直到看到 `ENGINE_by_id` 出现为止! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值