路由器openwrt安装python

Description

使用u盘当路由器的系统盘,一不小心碰到它,路由器又挂了。决定把U盘作为挂载盘安装软件

OpenWrt 根分区往往只有几十 MB,Python 和依赖一装就爆。把 opkg 指到 U 盘,大包装外置存储;根分区只留系统,U 盘掉了至少还能进路由改配置(比整盘 overlay 挂在 U 上安全一点,见文末后记)。

挂载U盘

Description

LuCI 里挂载分区,记下挂载点(示例里是 /mnt/sda)。文件系统 ext4 比 fat 省心,权限不会乱。

启用挂载的设备

Description

勾选「挂载」并写入 fstab,重启后自动挂上。

opkg包配置安装目录

增加一个opkg安装路径

Description

在 opkg 配置里增加名为 usb(名字自定)的安装目标,路径指向 U 盘下的目录,例如 /mnt/sda/opkg

配置PATH路径

装到 U 盘的二进制默认不在 PATH 里,要手动加:

export PATH=$PATH:/mnt/sda/opkg/usr//bin
echo 'export PATH=$PATH:/mnt/sda/opkg/usr/bin' >> /etc/profile

第一行 PATH 里多了一个 /,能跑但建议统一成 /mnt/sda/opkg/usr/bin。改完 source /etc/profile 或重登 SSH。

指定路径安装okpg包

opkg update
opkg -d usb install python3 
opkg -d usb install python3-pip

请注意:-d usb为必需的,否则依旧会安装到根目录

usb 要和 opkg 里配置的 dest 名称一致。根分区可用 df -h 盯着,别装爆。

Description

打开对应目录可以看到,已经多了一个opkg目录

Description

输出python3,测试是否安装成功

which python3 应落在 U 盘路径下。

安装pip

python -m pip install -U --force pip

Description

路由器 CPU 弱,pip 升级和装大包会慢,尽量挑轻量依赖。

安装python依赖

pip3 install requests

Description

换国内源

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

后记

现在换成挂载overlays了,直接在系统盘上面再套一层,避免u盘掉线后的系统启动不了的情况

overlay 方案读写都在 U 盘,空间更大,但 U 盘故障时整机起不来;外置 opkg 目录是折中:系统能 boot,只是外置软件暂时不可用。

参考文章

  1. OPKG 软件包管理

版权声明: 本文首发于 指尖魔法屋-路由器openwrt安装pythonhttps://blog.thinkmoon.cn/post/979-router-guide-openwrt-python/) 转载或引用必须申明原指尖魔法屋来源及源地址!