mysql ipk 编译_OpenWrt的ipk包安装

2023-11-04

在 make menuconfig 进行裁减 OpenWrt 时,为了让系统更精小一点,我们会把部分功能以“模块”的方式编译,即不编入内核,只是在后期用户可以进行安装与卸载。

包安装示例

如下关于Lua的配置项:

0e78683da263bc0b58ec856d9a81c66e.png

其中 json4lua, lua-cjson, lua-copas, lua-coxpcall 是没有编入原生系统的。

在 make 完成之后。

在 bin/ar71xx/packages/ 路径下全是 ipk 安装包。其中上面对应的安装包就在 bin/ar71xx/packages/packages/ 目录下。

#--开发机--

$ ls lua*

lua-cjson_2.1.0-1_ar71xx.ipk      lua-rs232_1.0.3-1_ar71xx.ipk

lua-copas_2.0.0-1_ar71xx.ipk      luasocket_3.0-rc1-20130909-3_ar71xx.ipk

lua-coxpcall_1.15.0-1_ar71xx.ipk  luasql-mysql_2.3.0-1_ar71xx.ipk

luaposix_v33.2.1-4_ar71xx.ipk     luasql-sqlite3_2.3.0-1_ar71xx.ipk

怎么安装到 OpenWrt上呢?

首先,用 scp 将 ipk 包发送到 OpenWrt 系统上。本人的 OpenWrt 的 IP 为 192.168.1.2,以 luasql 为例

#--开发机--

$ scp luasql-mysql_2.3.0-1_ar71xx.ipk root@192.168.1.2:

root@192.168.1.2's password: 

luasql-mysql_2.3.0-1_ar71xx.ipk                      100% 6441     6.3KB/s   00:00

SSH登入 OpenWrt,查看文件。luasql-mysql_2.3.0-1_ar71xx.ipk 已在 /root/ 目录下了。

#--OpenWrt---

$ opkg install luasql-mysql_2.3.0-1_ar71xx.ipk

Installing luasql-mysql (2.3.0-1) to root...

Collected errors:

* satisfy_dependencies_for: Cannot satisfy the following dependencies for luasql-mysql:

*     libmysqlclient *

* opkg_install_cmd: Cannot install package luasql-mysql.

Oops,出师不力(不用惊慌,这也是常常遇到的事儿)~缺 libmysqlclient 库。

那就看看 libmysqlclient 库的 ipk 包有没有。如果 bin/ar71xx/packages 路径下没有,则是 make menuconfig 时没有加进来。这时,修改配置,再make一下就会有了。

在 bin/ar71xx/packages/ 路径下 find 一下。

#--开发机---

$ find -name "libmysqlclient*"

./packages/libmysqlclient_5.1.73-1_ar71xx.ipk

有!那就不用再make一遍了。

同样,用 scp 将 libmysqlclient_5.1.73-1_ar71xx.ipk 文件传送到 OpenWrt。

#--开发机---

$ scp libmysqlclient_5.1.73-1_ar71xx.ipk root@192.168.1.2:

再在 OpenWrt 的 SSH 里安装刚发送过来的 ipk 包。

#--OpenWrt---

$ opkg install libmysqlclient_5.1.73-1_ar71xx.ipk

Installing libmysqlclient (5.1.73-1) to root...

Collected errors:

* satisfy_dependencies_for: Cannot satisfy the following dependencies for libmysqlclient:

*     uclibcxx *

* opkg_install_cmd: Cannot install package libmysqlclient.

Oops~Again,libmysqlclient还依赖于uclibcxx库。安装 uclibcxx 库。

#--开发机---

$ scp base/uclibcxx_0.2.4-1_ar71xx.ipk root@192.168.1.2:

#--OpenWrt---

$ opkg install uclibcxx_0.2.4-1_ar71xx.ipk

Installing uclibcxx (0.2.4-1) to root...

Configuring uclibcxx.

uclibcxx库OK了

再来安装 libmysqlclient 库

#--OpenWrt---

$ opkg install libmysqlclient_5.1.73-1_ar71xx.ipk

Installing libmysqlclient (5.1.73-1) to root...

Configuring libmysqlclient.

libmysqlclient库OK了。

最后安装 luasql 库

#--OpenWrt---

$ opkg install luasql-mysql_2.3.0-1_ar71xx.ipk

Installing luasql-mysql (2.3.0-1) to root...

Configuring luasql-mysql.

就这样,luasql 库安装完成了。

在 OpenWrt 系统的 /usr/lib/lua/ 目录下多出一个 luasql 目录,在该目录下有一个 mysql.so 文件。

启动 Lua 试试看:

#--OpenWrt---

$ lua

Lua 5.1.5  Copyright (C) 1994-2012 Lua.org, PUC-Rio (double int32)

> require 'luasql.mysql'

成功。

opkg 的使用

opkg 有点类似地 ubuntu 中的 dpkg 包管理工具。常见的用法是:安装、卸载软件包。

usage: opkg [options...] sub-command [arguments...]

where sub-command is one of:

Package Manipulation:

update            Update list of available packages

upgrade         Upgrade packages

install         Install package(s)

configure     Configure unpacked package(s)

remove     Remove package(s)

flag      Flag package(s)

=hold|noprune|user|ok|installed|unpacked (one per invocation)

Informational Commands:

list            List available packages

list-installed        List installed packages

list-upgradable        List installed and upgradable packages

list-changed-conffiles    List user modified configuration files

files         List files belonging to 

search     List package providing 

find         List packages whose name or description matches 

info [pkg|regexp]    Display all info for 

status [pkg|regexp]    Display all status for 

download         Download  to current directory

compare-versions   

compare versions using <=  >= = <>

print-architecture    List installable package architectures

depends [-A] [pkgname|pat]+

whatdepends [-A] [pkgname|pat]+

whatdependsrec [-A] [pkgname|pat]+

whatrecommends[-A] [pkgname|pat]+

whatsuggests[-A] [pkgname|pat]+

whatprovides [-A] [pkgname|pat]+

whatconflicts [-A] [pkgname|pat]+

whatreplaces [-A] [pkgname|pat]+

Options:

-A            Query all packages not just those installed

-V[]        Set verbosity level to .

--verbosity[=]    Verbosity levels:

0 errors only

1 normal messages (default)

2 informative messages

3 debug

4 debug level 2

-f         Use  as the opkg configuration file

--conf 

--cache     Use a package cache

-d         Use  as the the root directory for

--dest     package installation, removal, upgrading.

 should be a defined dest name from

the configuration file, (but can also be a

directory name in a pinch).

-o 

--offline-root 

--add-arch :    Register architecture with given priority

--add-dest :    Register destination with given path

Force Options:

--force-depends        Install/remove despite failed dependencies

--force-maintainer    Overwrite preexisting config files

--force-reinstall    Reinstall package(s)

--force-overwrite    Overwrite files from other package(s)

--force-downgrade    Allow opkg to downgrade packages

--force-space        Disable free space checks

--force-postinstall    Run postinstall scripts even in offline mode

--force-remove    Remove package even if prerm script fails

--force-checksum    Don't fail on checksum mismatches

--noaction        No action -- test only

--download-only    No action -- download only

--nodeps        Do not follow dependencies

--nocase        Perform case insensitive pattern matching

--force-removal-of-dependent-packages

Remove package and all dependencies

--autoremove        Remove packages that were installed

automatically to satisfy dependencies

-t            Specify tmp-dir.

--tmp-dir        Specify tmp-dir.

regexp could be something like 'pkgname*' '*file*' or similar

e.g. opkg info 'libstd*' or opkg search '*libop*' or opkg remove 'libncur*'

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql ipk 编译_OpenWrt的ipk包安装 的相关文章

  • b宝塔 centos端口更改_宝塔Linux面板添加安全入口,修改管理员默认用户名与端口...

    网站安全问题是件非常容易被忽视掉的事情 有些同学安装宝塔Linux面板之后管理员账号依旧使用的是admin 使用默认的账号密码很容易被入侵 因此猫总总结了使用宝塔面Linux板必须修改的三点 宝塔Windows面板用户同样需要注意安全问题
  • IDEA 下Java获取Tomcat 项目运行路径问题

    最近在学习SpringMVC的上传文件过程中 使session getServletContext getRealPath photo 获取项目运行路径 却发现获取得到的是 C Program Files Apache Software F
  • UBT11:ubuntu安装IDEA2020.1

    11 1 简介 linux上的IDEA并不需要安装 只要解压即可运行 这就好像win上面的绿色软件 所以 我们需要把idea解压到一个合适的位置 然后创建桌面快捷方式 即可完成安装 此方法应该适用于整个JetBrains的软件 11 2 环
  • mysql8 window安装,链式复制,双主复制,数据库的负载均衡

    by xuejianxinokok 163 com 2021年3月25日 周四 15 06 43 1 下载地址 https dev mysql com downloads mysql 2 下载文件名称为 mysql 8 0 23 winx6
  • 2022年“网络安全”赛项海南省赛选拔赛 任务书

    2022年 网络安全 赛项海南省赛选拔赛 任务书 一 竞赛时间 共计6小时 二 A模块基础设施设置 安全加固 350分 一 项目和任务描述 假定你是某企业的网络安全工程师 对于企业的服务器系统 根据任务要求确保各服务正常运行 并通过综合运用
  • Linux系统安装R语言

    R语言是一款开源 免费的用于绘图和统计分析的语言和集成环境 该语言使用起来十分方便 提供了许多扩展包供下载使用 目前网上一些linux安装R语言的教程太过繁琐 其实 在ubuntu linux 系统下利用其提供的apt get命令可以方便的
  • macbook pro 散热方案,温度仅29度

    结论 Macbook Pro 13 3 寸 2017 控制住温度 性能飞起 5年前散热不好时 容易触发 CPU 降频 一 需求 长时间满载运行不降频 控制住温度 控制住散热噪音 二 尝试过的散热方案 散热方案 说明 最低温度 满载温度 一
  • 华为云云耀云服务器L实例评测

    前言 在上篇文章 华为云云耀云服务器L实例评测 快速部署MySQL使用指南 中 我们已经用 华为云云耀云服务器L实例 在命令行窗口内完成了MySQL的部署并简单使用 但是后台有小伙伴跟我留言说 能不能用 华为云云耀云服务器L实例 来实现个简
  • 联盛德W800开发板

    目录 W800 芯片介绍 W800开发板 主要接口如下 1 概述 2 准备工作 3 SDK目录结构如下 4 W800编译固件编译 4 1 安装MSYS到本地 4 2增加国内软件更新源 编辑4 3下载工具链 4 5 make工具链配置 5 M
  • 浪潮服务器不显示光驱,电脑不从光驱启动怎么办?我是浪潮品牌的机子。

    在DOS下可以装系统的 WIN98启动软盘引导系统为例在DOS下安装XP 为提高安装速度 需要在启动盘中添加smartdrv exe磁盘高速缓存 cache 程序 并且在安装之前运行该程序 smartdrv是一个磁盘高速缓存程序 称之为sm
  • React事件处理方法

    一 注意事项 1 React元素的事件处理和Dom元素很相似 但是有一点语法的不同 2 React事件的命名采用小驼峰的命名方式 而不是纯小写 camelCase 3 使用JSX语法时你需要传入一个函数作为事件处理函数 而不是一个字符串 例
  • 【CVPR 2022 多模态融合(有3D检测)】Multimodal Token Fusion for Vision Transformers

    Multimodal Token Fusion for Vision Transformers 论文简介 具体实现 Alignment agnostic fusion Alignment aware fusion Multimodal To
  • 如何快速的只取出列表中的数字

    my list a a a 1 2 3 4 5 A B C 提取出 12345 方法一 使用try方法测试 isalnum 判断是否是字母 my list a a a 1 2 3 4 5 A B C str1 for i in my lis
  • Elasticsearch 在Windows上安装和启动

    1 安装JDK 至少1 8以上 2 下载和解压缩Elasticsearch安装包 下载地址 https www elastic co cn downloads 3 启动Elasticsearch bin elasticsearch bat
  • H5存储方案——cookie、session、SessionStorage和LocalStorage

    1 简述 浏览器端存储网页中的数据有三种存储方案 cookie SessionStorage和LocalStorage 其中 SessionStorage和LocalStorage是H5新增的存储方案 而cookie经常同session一并
  • 数据结构之链表详解(2)——双向链表

    目录 前言 一 双向链表 A 双向链表的含义 B 双向链表的实现 1 双向链表的结构 2 链表的初始化 初始化图解 函数代码 3 动态申请节点函数 函数代码 4 打印双向链表函数 函数代码 5 尾部插入节点 图解 函数代码 测试 6 头插函
  • 关于指针的面试题,指向字符串和字符数组的单指针,二级指针,三级指针的使用。

    int a 3 4 0 printf d n sizeof a 48 printf d n sizeof a 0 0 4 printf d n sizeof a 0 16 printf d n sizeof a 0 1 4 地址 print
  • tkinter运行时卡住,点击按钮运行任务时界面卡住

    在tkinter中添加按钮 点击按钮在程序运行过程中tkinter界面会卡住 当运行完按钮任务 就好了 懒得自己写 在百度一搜整整一页都是一样的答案 看着一点都不方便 还得是自己动手丰衣足食 这种情况下 应该将耗时操作放在一个独立的线程中进
  • Vue.js 2.0 教程

    Vue js 介绍 Vue js 读音 vju 类似于 view 是一套构建用户界面的渐进式框架 Vue js 安装 全局安装 vue cli npm install global vue cli 创建一个基于 webpack 模板的新项目

随机推荐

  • linux idea 快捷键,Linux 下 IDEA 的 Ctrl+Alt+S

    前言 这是个困扰我一年多的问题 今天终于解决了 起因 一年前将主系统换成 Arch Linux 后 其他一切正常就是 IDEA 的打开设置的快捷键 ctrl alt s 失效 让我很是头疼 虽然不是很重要 但是对于我这种强迫症来说别提多难受
  • 大数据与云计算的关系

    就目前而言 要想发展好大数据 就离不开云计算 我们在进行大数据的时候同样也是离不开云计算的 于是很多人觉得大数据与云计算都有一定的关系 那么大家知道不知道大数据的云计算有什么关系呢 我们在这篇文章中给大家带来这个问题的答案 首先我们说一下大
  • Unity 解决添加自定义宏不生效的问题

    Unity版本 2020 3 平台 Android 问题描述 执行代码添加 删除宏定义 或者直接在PlayerSetting面板里直接添加 删除宏 通过if判断 获取的还是之前的 新增的宏并没有生效 代码添加 删除宏定义 添加宏定义 pri
  • 代码审计作业-area39/pikachu

    1 问答题 1 使用 docker 构建 pikachu镜像 1 搜索pikachu docker search pikachu 2 拉取镜像 docker pull area39 pikachu 3 启动pikachu镜像 docker
  • PaddlePaddle(3)——深度学习模型训练和关键参数调优详解

    转载请注明作者和出处 https blog csdn net qq 28810395 运行平台 Windows 10 AIstudio官网 https aistudio baidu com 飞桨领航团AI达人创造营 前言 1 什么是人工智能
  • ftp下载出现空文件,需要修改编码

    ftp下载出现空文件 需要修改编码 ftpClient retrieveFile new String ff getName getBytes gbk ISO 8859 1 is
  • Kafka集群的搭建以及java生产消费代码测试

    1 什么是Kafka 官网上 Kafka 用于构建实时数据管道和流式应用程序 它具有横向可扩展性 容错性 速度极快 在数千家公司的生产中运行 2 集群搭建准备 JDK Zookeeper集群 https blog csdn net qq 3
  • LDO原理简析

    LDO是低压差稳压器 并且是线性稳压器 只能用在降压的场景下 即输出电压只能比输入电压小 优点是负载响应快 并且十分稳定 纹波也比较小 缺点是输入电压和输出电压不能相差过大 负载也不能太大 并且效率较低 线性调节意谓着输入输出的电压差乘上平
  • Unity3D启动时卡在Loading界面

    首先说说我是怎么遇到这个问题的吧 当初是因为手贱无意中点了这个Sign out 退出当前用户 然后就一直卡在Loading界面死循环了 收集了一些网上的解决方法都不好使 难道是因为我是Mac系统的Unity 解决方案 一 Windows系统
  • 【待完善】python中调用 imread 报错: ImportError: cannot import name imread

    pip install Pillow 该问题排查有以下几种情况 未安装 Pillow库 scipy版本不对 ImportError cannot import name imread from scipy misc 是由于 imread i
  • 生成ltx文件命令_系统小技巧:实用简单的PowerShell命令

    从Windows 10 1703版开始 PowerShell取代了原命令提示符的位置 成为Windows管理的必备利器 然而许多普通Windows用户不知它的用途 其实 通过在PowerShell窗口中执行简单的命令 往往可以解决一些实际问
  • 2023/9/11 qt&c++

    include
  • LeetCode646.最长数对链

    题目描述 646 最长数对链 力扣 LeetCode 这是一道典型的贪心算法题 我们先对原数对进行排序 排序规则是按照数对的右边界值的大小进行升序排列 初始化变量end为升序后第一个数对的右边界值 这个数无疑是最小的右边界 之后依次遍历整个
  • Qt程序的打包和发布(使用windeployqt)

    将编写完成的Qt程序进行打包 使得没有安装Qt环境的电脑也可以运行编写完成的应用 1 Release文件生成 在Qt Creator中 将构建方式改为Release 点击运行 或ctrl r快捷键运行 2 找到exe文件 复制到一个空目录中
  • java单元测试之Mock静态方法

    用例子说明 例如有下面静态方法 public final class AmountUtil public static String CustomFormatWith2Digits int amount return 1 单元测试代码 需要
  • 服务器端虚拟化安卓,安卓服务器端实例

    安卓服务器端实例 内容精选 换一换 本章节以Linux操作系统为例 指导您通过内网IP的方式连接GaussDB for Redis 实例 目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问 弹性云服务器必须处于目标实例所属安全组允
  • vscode和vs有什么区别?

    vscode是微软新推出的一款代码编辑器 内置了一些编译器 免费开源跨平台的工具 VS是微软的商业企业级开发环境IDE 在这之前 我们写代码的工具可以分为三个层次 最轻量级的叫做代码编辑器 例如notepad notepad subline
  • OD查看字符串

    在反汇编窗口中右击 出来一个菜单 我们在 查找 gt 所有参考文本字串 上左键点击 在text string窗口后 再右击这个窗口里面随便一处 选 search for text 输入要查找的内容 把Case sensitive 区分大小写
  • 【RoCE】拥塞控制机制(ECN, DC-QCN)

    1 网络拥塞问题 在网络交换机中 当入口流量大于出口流量的带宽时会发生网络拥塞 典型的例子是多个发送方同时向同一个目的地发送网络数据 交换机的缓存可以处理暂时的拥塞 但是当拥塞太久时 交换机的缓存就会过载 当交换机缓存过载时 下一个收到的新
  • mysql ipk 编译_OpenWrt的ipk包安装

    在 make menuconfig 进行裁减 OpenWrt 时 为了让系统更精小一点 我们会把部分功能以 模块 的方式编译 即不编入内核 只是在后期用户可以进行安装与卸载 包安装示例 如下关于Lua的配置项 其中 json4lua lua