栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

openwrt luci使用本地软件源更新软件包,更新package.sig签名

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

openwrt luci使用本地软件源更新软件包,更新package.sig签名

官方的源在国外,一般访问速度比较慢,本地源可以快速解决这个问题。有时自己编译的软件升级发布版本使用本地源,能够更好的维护与安装。

为了保证兼容性,尽量使用同一个源提供的SDK打包的源软件。

  1. 把编译出来的ipk文件上传到本地服务器。
  2. 在索引中添加新增的软件包信息,在软件包生成的目录中,除了我们选中的软件包还有三个文件生成——Packages,Packages.gz,Packages.manifest,这几个文件提供了软件包的索引(在SDK下使用make package/xxxx/compile生成软件包后不会生成索引,要直接使用make)。
  3. 添加对应的package.sig签名文件后。
  4. openwrt就可以从本地服务器拉取最新的OPKG。
    下面讲解详细流程:
一、ubuntu 安装Nginx,并启动服务 apt-get 安装Nginx

切换至root用户

sudo su root
apt-get install nginx

查看Nginx是否安装成功

nginx -v

启动nginx

service nginx start

启动成功后,在网页输入对应的域名或IP地址,就可以看到欢迎页面,表明nginx安装成功

这里只简单讲解nginx 安装流程,具体细节请百度。

二、配置nginx访问路径,查看目录文件

nginx 文件目录

进入sites-available目录,修改default文件

cd sites-available/
ls
vi default


添加以下代码。

location /download/base { # 对需要展示为文件列表的网站磁盘目录,进行网站虚拟路径配置。虚拟路径为'/download'
 # 需要被设置为文件列表的网站磁盘目录路径。当设置网站虚拟路径时,要使用alias。因为root用于网站主目录,并且虚拟路径映射中,root只能有一个。而alias可以有多个。
            alias /home/openwrt/text/008/base;
            autoindex on;  # 开启目录文件列表
            autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytes
            autoindex_localtime on;  # 显示的文件时间为文件的服务器时间
            charset utf-8,gbk;  # 避免中文乱码
   	 }	

并重启nginx服务

nginx -s reload

就可以通过http://IP地址/download/base/访问文件目录,默认80端口

三、nginx本地源文件获取 openwrt ipk

openwrt对应固件安装下载完成,生成的bin文件目录内挑选一个需要的源文件,我使用

lede/bin/packages/mips_24kc/base


将其复制一份并创建一个新的文件夹009


再次修改二的步骤,访问nginx,查看对应文件目录(如图)

四、更改openwrt luci 软件包对应的配置升级

系统 -> 软件包 -> 配置OPKG

/etc/opkg.conf是主要配置文件不动
/etc/opkg/customfeeds.conf 一般用于添加自己的源,这里我们暂时不动
/etc/opkg/distfeeds.conf 一般放置官方的原文,如下,我们将内容删除,改成自己的源

src/gz openwrt_core https://downloads.openwrt.org/releases/22.03-SNAPSHOT/targets/ath79/nand/packages
src/gz openwrt_base https://downloads.openwrt.org/releases/22.03-SNAPSHOT/packages/mips_24kc/base
src/gz openwrt_luci https://downloads.openwrt.org/releases/22.03-SNAPSHOT/packages/mips_24kc/luci
src/gz openwrt_base http://124.220.204.248/download/base/

点击保存,并更新列表

五、(非常重要)如何解决签名不过的问题–如果更新列表无响应或报错可以试试

openwrt官方论坛上有了签名的生成方法,使用了签名工具—usign。
这个工具可以在固件的SDK目录/staging_dir/host/bin中找到,然后就可以根据官方论坛的方法生成签名,更新Package.sig 签名文件。

  1. 生成一对公钥和私钥,公钥用于路由对签名文件进行校验,私钥用于我们生成签名文件
staging_dir/host/bin$ ./usign -G -s mime.key -p mime.pub
  1. 利 用 生 成 的 私 钥 对 服 务 器 上 的 Packages 文 件 生 成 签 名 文 件 ,Packages 文件不在当前目录的话要加上路径
staging_dir/host/bin$ ./usign -S -m Packages -s mime.key -x Packages.sig
  1. 把签名文件上传到服务器上,把公钥上传到路由,在路由上新增我们生成的公钥
root@VM-12-2-ubuntu:~# cd /tmp 
root@VM-12-2-ubuntu:/tmp# opkg-key add mime.pub 
六、更新软件索引

点击更新列表 或执行

opkg update

完成新编译安装软件。本地源文件已更新到openwrt。

这个是IPK对应的本地源更新。对应的固件更新,在备份与升级中,使用原有的就可以,注意!这里刷写固件使用的是sysupgrade.bin升级文件,按复位键刷写固件使用的是factory.img镜像文件,kernel.bin是临时文件,数据重启就销毁。此次跌过大跟头,希望后面刷写openwrt的小伙伴能留心。

参考文档:
Ubuntu 安装 nginx
https://blog.csdn.net/qq_23832313/article/details/83578836?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165234747116781683985869%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=165234747116781683985869&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-83578836-null-null.142v9control,157v4control&utm_term=Ubuntu+nginx&spm=1018.2226.3001.4187

官方论坛对于签名问题
https://forum.archive.openwrt.org/viewtopic.php?id=57733

本地openwrt/LEDE软件源添加软件包,更新Package.sig签名文件
很全,说的非常仔细
https://blog.csdn.net/hokamyuen/article/details/73330319?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3-73330319-blog-104346173.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-3-73330319-blog-104346173.pc_relevant_default&utm_relevant_index=6

OpenWrt搭建私有软件源服务器实现快速安装软件
这个可以尝试玩玩,很有启发思维
http://t.zoukankan.com/zlAurora-p-13509630.html

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/880378.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号