OpenWrt编译软件包

首先需要在虚拟机上搭建好OpenWrt环境,具体可见我的另一篇文章《OpenWrt环境搭建和编译过程》

正常来说,我们可以通过OpenWrt官网下载软件包(根据自己设备的平台架构),直接放入到设备进行安装,而不需要自己去编译,官网下载地址:https://openwrt.org/docs/techref/instructionset/start

当然少数时候也需要我们自己进行编译。我这边以编译Snort (NIDS) 为例,列出编译软件包的步骤(编译好交叉工具链的前提下)。

1、进入到OpenWrt主目录。

2、输入如下命令:
$ ./scripts/feeds update -a #更新软件列表,不更新有很多软件包都找不到
$ ./scripts/feeds install -a #安装软件列表
$ make defconfig #生成配置文件
$ make menuconfig

3、进入到配置界面,找到路径 Network->Firewall->snort,按y选定,并保存退出。若不知道需要安装的包在什么路径,可以输入 / 进入查找界面。

4、编译,输入如下命令:
$ make package/feeds/packages/snort/compile V=99
如果你的 CPU 有多个线程,可以加上 -j线程数 来使用多线程编译,例如:make package/aria2/compile V=99 -j4 #启用4个线程
编译出错的话,可以通过下面命令查看编译出错的信息:
$ make package/feeds/packages/snort/compile V=s

5、进入到bin/packages/xxxx/packages目录下,Snort的ipk包已经编译好,以及Snort依赖库的ipk包。
注:xxxx为不同架构名称不一致,根据自己的架构进入到相应目录即可。
libdaq_2.2.2-1_aarch64_generic.ipk
libdnet_1.12-1_aarch64_generic.ipk
libpcre_8.43-1_aarch64_generic.ipk
snort_2.9.11.1-8_aarch64_generic.ipk

6、将编译生成的ipk包,上传到目标板上安装运行。

  • 通过scp命令即可将生成软件包远程复制到目标板

  • 使用opkg install/remove即可安装卸载软件包

    Snort安装顺序:
    libdnet->libdaq->libpcre->libuuid->libnghttp->snort(libuuid和libnghttp也是snort依赖库,可以在bin/packages/xxxx/base目录下找到)

附1:使用SSH登录系统并使用Opkg管理软件包,命令如下:

命令 描述
opkg update 从OpenWrt包存储库中获取可用包的列表
opkg list 显示可用包及其说明的列表
opkg list | grep -e searchterm 按包名称或其描述中的搜索词筛选列表
opkg install packagename 安装包
opkg remove packagename 卸载以前安装的软件包

附2:软件包相关介绍
https://openwrt.org/packages/start

参考:https://www.mivm.cn/openwrt-sdk-package-foundation/

你可能感兴趣的:(OpenWrt)