OpenWrt的相关问题



1. 备份原有源

cp /etc/opkg/distfeeds.conf /etc/opkg/distfeeds.conf.bak

2. 修改软件源配置文件

用文本编辑器(如 vimnano)编辑 /etc/opkg/distfeeds.conf

vim /etc/opkg/distfeeds.conf

示例:替换为国内源(如清华源)

将文件中的默认 URL(通常是 downloads.openwrt.org)替换为国内镜像站。例如:

src/gz openwrt_core https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/targets/x86/64/packages
src/gz openwrt_base https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/base
src/gz openwrt_luci https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/luci
src/gz openwrt_packages https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/packages
src/gz openwrt_routing https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/routing
src/gz openwrt_telephony https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/21.02.7/packages/x86_64/telephony

执行如下命令自动替换

sed -i ‘s_https?://downloads.openwrt.org_https://mirrors.tuna.tsinghua.edu.cn/openwrt_' /etc/opkg/distfeeds.conf
注:使用 HTTPS 可以有效避免国内运营商的缓存劫持,但需要另行安装 libustream-openssl ca-bundle ca-certificates 。

注意事项

  1. 版本匹配:确保 URL 中的版本号(如 21.02.7)和架构(如 x86_64)与你的 OpenWrt 系统一致。
    • 查看版本:cat /etc/openwrt_release
    • 查看架构:opkg print-architecture
  2. 其他国内源
    • 中科大源:https://mirrors.ustc.edu.cn/openwrt/
    • 阿里云源:https://mirrors.aliyun.com/openwrt/
    • immortalwrt: https://downloads.immortalwrt.org/

3. 更新软件包列表

opkg update

opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade

opkg list-upgradable | grep luci- | cut -f 1 -d ' ' | xargs opkg upgrade

4. 测试安装

尝试安装一个软件包(如 nano)验证源是否正常:

opkg install nano

5. 可选:自定义第三方源

如果需要添加非官方源(如第三方插件),编辑 /etc/opkg/customfeeds.conf

src/gz custom_plugin https://example.com/packages

然后再次运行 opkg update


openclash插件

https://github.com/vernesong/OpenClash/releases/download/v0.46.137/luci-app-openclash_0.46.137_all.ipk

scp -O luci-app-openclash_0.46.137_all.ipk root@192.168.1.1:/root

opkg install luci-app-openclash_0.46.137_all.ipk

rm luci-app-openclash_0.46.137_all.ipk

xiaomi R3G openclash的calsh_meta内核
https://raw.githubusercontent.com/vernesong/OpenClash/refs/heads/core/master/meta/clash-linux-mipsle-softfloat.tar.gz

istore虚拟机openclash的calsh_meta内核
https://raw.githubusercontent.com/vernesong/OpenClash/refs/heads/core/master/meta/clash-linux-amd64.tar.gz

解压以后

scp -O clash root@192.168.1.1:/root

chmod +x clash

mv clash /etc/openclash/core/clash_meta

在 ImmortalWrt 上安装主题(如 ArgonRosyBootstrap 等)可以通过 Web 界面SSH 命令行 完成。以下是详细步骤:


方法 1:通过 Web 界面安装(推荐)

1. 登录管理界面

  • 浏览器访问 http://192.168.1.1(默认地址),输入用户名和密码登录。

2. 更新软件包列表

  • 进入 System → Software(系统 → 软件包)。
  • 点击 Update lists(更新列表),确保获取最新的软件源信息。

3. 搜索并安装主题

  • Software 页面,切换到 Available packages(可用软件包)。
  • 搜索主题名称(如 luci-theme-argonluci-theme-rosy)。
  • 找到后点击 Install(安装)。

4. 启用主题

  • 进入 System → System(系统 → 系统设置)。
  • Language and Style(语言与界面)选项卡:
    • Theme(主题)→ 选择刚安装的主题(如 Argon)。
  • 点击 Save & Apply(保存并应用)。

方法 2:通过 SSH 命令行安装

1. SSH 登录路由器

ssh root@192.168.1.1

2. 更新软件包列表

opkg update

3. 搜索可用主题

opkg list | grep luci-theme-

示例输出:

luci-theme-argon - 2.3.0-1
luci-theme-bootstrap - git-23.123.45678-7890abc
luci-theme-rosy - 1.5-2

4. 安装主题

opkg install luci-theme-argon

(替换 luci-theme-argon 为你想要的主题名称)

5. 启用主题

uci set luci.main.mediaurlbase='/luci-static/argon'  # 替换 "argon" 为你的主题名
uci commit luci
/etc/init.d/uhttpd restart  # 重启 Web 界面

方法 3:手动上传 IPK 安装(适用于非官方主题)

1. 下载主题 IPK 文件

  • 从第三方源(如 GitHub、OpenWrt 社区)下载 .ipk 文件,例如:
    wget https://example.com/luci-theme-custom.ipk -O /tmp/luci-theme-custom.ipk
    或通过 scp 上传:
    scp luci-theme-custom.ipk root@192.168.1.1:/tmp/

2. 手动安装

opkg install /tmp/luci-theme-custom.ipk

3. 启用主题

方法 2 的步骤 5。


常见问题

1. 安装后主题不显示?

  • 检查是否安装成功:
    opkg list-installed | grep luci-theme-
  • 确保主题路径正确(如 /luci-static/argon)。

2. 提示依赖错误?

  • 安装缺失的依赖:
    opkg install <缺失的包名>
    或强制安装(不推荐):
    opkg install --force-depends /tmp/luci-theme-custom.ipk

3. 恢复默认主题

uci set luci.main.mediaurlbase='/luci-static/bootstrap'
uci commit luci
/etc/init.d/uhttpd restart

推荐主题

主题名称 安装命令 特点
Argon opkg install luci-theme-argon 现代设计,支持暗黑模式
Rosy opkg install luci-theme-rosy 简洁风格,适合移动端
Bootstrap 默认安装(无需额外操作) OpenWrt 经典界面
Material opkg install luci-theme-material Google Material Design 风格

在 ImmortalWrt 上安装其他插件(如广告过滤、科学上网、文件共享等)可以通过 Web 界面SSH 命令行手动 IPK 安装 实现。以下是详细方法:


方法 1:通过 Web 界面安装(推荐)

步骤

  1. 登录管理界面
    浏览器访问 http://192.168.1.1,输入用户名和密码。

  2. 更新软件包列表

    • 进入 System → Software(系统 → 软件包)。
    • 点击 Update lists(更新列表)。
  3. 搜索插件

    • Available packages(可用软件包)选项卡中:
      • 输入插件名称(如 luci-app-adblockluci-app-samba4)。
      • 点击 Install(安装)。
  4. 配置插件

    • 安装完成后,刷新页面或重新登录,插件通常会在相关菜单中显示(如 ServicesNetwork)。

方法 2:通过 SSH 命令行安装

步骤

  1. SSH 登录路由器

    ssh root@192.168.1.1
  2. 更新软件包列表

    opkg update
  3. 搜索插件

    opkg list | grep luci-app-  # 列出所有 Luci 插件
    opkg list | grep <关键词>   # 按功能搜索(如 "vpn"、"adblock")

    示例输出:

    luci-app-adblock - 2.0.0-1 - DNS广告过滤
    luci-app-samba4 - 4.15.0-1 - 文件共享(Samba)
  4. 安装插件

    opkg install luci-app-<插件名>

    例如:

    opkg install luci-app-adblock luci-app-samba4
  5. 重启服务

    /etc/init.d/uhttpd restart  # 重启 Web 界面
    /etc/init.d/<插件服务名> restart  # 重启插件服务(如 "adblock")

方法 3:手动安装 IPK 文件(适用于第三方插件)

步骤

  1. 下载 IPK 文件

    • 从官方源或第三方仓库(如 GitHub)下载插件 IPK 文件,例如:
      wget https://example.com/luci-app-example.ipk -O /tmp/luci-app-example.ipk
    • 或通过 scp 上传本地文件:
      scp luci-app-example.ipk root@192.168.1.1:/tmp/
  2. 手动安装

    opkg install /tmp/luci-app-example.ipk
    • 如果提示依赖错误,安装缺失的依赖:
      opkg install <缺失的包名>
  3. 启用插件

    • 安装后,在 Luci Web 界面中检查是否出现新菜单项。
    • 若无显示,尝试重启 Web 服务:
      /etc/init.d/uhttpd restart

常见插件推荐

插件名称 功能描述 安装命令
广告过滤 DNS 广告屏蔽 opkg install luci-app-adblock
文件共享 (Samba) 局域网文件共享 opkg install luci-app-samba4
科学上网 Shadowsocks/V2Ray 客户端 需手动下载对应插件(如 luci-app-ssr-plus
DDNS 动态域名解析 opkg install luci-app-ddns
Aria2 下载工具 BT/HTTP 下载 opkg install luci-app-aria2
网络唤醒 (WOL) 远程唤醒局域网设备 opkg install luci-app-wol
VPN 服务器 (OpenVPN) 搭建 VPN 服务 opkg install luci-app-openvpn

常见问题解决

1. 插件安装失败(依赖错误)

  • 手动安装缺失依赖:
    opkg install <缺失的包名>
  • 或强制安装(不推荐):
    opkg install --force-depends /tmp/xxx.ipk

2. 插件在 Web 界面不显示

  • 检查插件是否完整安装:
    opkg list-installed | grep luci-app-
  • 重启 Web 服务:
    /etc/init.d/uhttpd restart

3. 空间不足

  • 清理旧内核或临时文件:
    opkg clean
    rm -rf /tmp/*
  • 扩展 Overlay 分区(需重新分区,谨慎操作)。

注意事项

  1. 插件兼容性

    • 确保插件与你的 ImmortalWrt 版本(如 21.02/23.05)兼容。
    • 第三方插件可能需手动编译或从非官方源获取。
  2. 安全性

    • 仅从可信来源下载插件(如官方仓库、GitHub 知名项目)。
  3. 备份配置

    • 安装前建议备份系统(System → Backup)。

luci插件下载

官方 :
https://downloads.openwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/


immortalwrt :
https://downloads.immortalwrt.org/releases/24.10.2/packages/mipsel_24kc/luci/


清华源 :
https://mirrors.tuna.tsinghua.edu.cn/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/


阿里云 :
https://mirrors.aliyun.com/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/



中科大 :
https://mirrors.ustc.edu.cn/openwrt/releases/24.10.2/packages/mipsel_24kc/luci/

istore 工具

curl -sSL http://ysfs.cpolar.cn/sostools.sh -o /root/sostools.sh && chmod +x /root/sostools.sh && ln -s /root/sostools.sh /usr/bin/sostools && sostools

你现在看到的情况是:

  • /dev/sda 总容量:40 GiB
  • /dev/sda3 当前大小:8.9 GiB(787968 → 19531250)
  • /dev/sda4 紧接在 sda3 后面,占用了 10.7 GiB(19531776 → 41940992)
  • 剩余空间(41940992 → 83886080)还有 ~20 GiB 未分配

❗ 问题核心:

你想扩容 /dev/sda3,但它被 /dev/sda4 挡住了,所以直接扩容会提示 **”overlapping partitions”**。


✅ 解决方案:

你有两个选择:


✅ 方案一:删除 /dev/sda4,再扩容 /dev/sda3

⚠️ 前提:**/dev/sda4 没有重要数据**,否则请先备份!

fdisk /dev/sda
  • 输入 d,选择分区 4(删除 /dev/sda4)
  • 输入 d,选择分区 3(删除 /dev/sda3)
  • 输入 n,创建新主分区,起始扇区保持默认(787968),结束扇区直接回车(使用全部剩余空间)
  • 输入 w 保存并退出

然后执行:

resize2fs /dev/sda3

✅ 方案二:保留 /dev/sda4,只扩容 /dev/sda4 或新建分区

如果你不想动 sda4,你可以:

  • 把剩余 20 GiB 创建为 /dev/sda5,挂载到 /mnt/data/opt 使用
  • 或者扩容 /dev/sda4 并挂载使用

✅ 推荐方案:

如果你确定 /dev/sda4 没有重要数据,建议删除 sda4 和 sda3,重建一个更大的 sda3,这是最直接的方式。


✅ 一键脚本(仅建议熟悉者使用):

echo -e "d\n4\nd\n3\nn\np\n3\n787968\n\nw" | fdisk /dev/sda
resize2fs /dev/sda3

✅ 扩容后验证:

df -h

如需我帮你写一个安全的交互式脚本图形操作建议,请告诉我你是否愿意删除 /dev/sda4

如果你想只给 /dev/sda3 扩容 20G(即总共 20G 空间,不是从当前 8.9G 再增加 20G),你需要手动计算结束扇区


✅ 目标:

  • /dev/sda3787968 开始
  • 你想要 20G 空间
  • 每个扇区是 512 字节

✅ 计算结束扇区:

20G = 20 * 1024 * 1024 * 1024 = 21474836480 字节
扇区数 = 21474836480 / 512 = 41943040 个扇区
结束扇区 = 起始扇区 + 扇区数 - 1
         = 787968 + 41943040 - 1
         = 42731007

✅ 所以你在 fdisk 中应该这样操作:

fdisk /dev/sda

交互过程:

Command (m for help): n
Partition type:
   p   primary (2 primary, 0 extended, 2 free)
   e   extended
Select (default p): p
Partition number (3,4, default 3): 3
First sector (787968-83886079, default 787968): 回车(默认)
Last sector, +/-sectors or +/-size{K,M,G,T,P} (787968-83886079, default 83886079): **+20G**

✅ 你可以直接输入 +20G,fdisk 会自动计算扇区,无需手动输入 42731007


✅ 完成后:

w   # 保存并退出

然后:

resize2fs /dev/sda3

✅ 最终确认:

df -h

✅ 总结一句话:

fdisk 创建分区时,输入 +20G 即可自动分配 20G 空间,无需手动算扇区。

修复istore商店打不开

sed -i 's/istore.linkease.com/istore.istoreos.com/g' /bin/is-opkg
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /etc/opkg/compatfeeds.conf
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /www/luci-static/istore/index.js
is-opkg update

或者

#!/bin/bash
files=(
  /bin/is-opkg
  /etc/opkg/compatfeeds.conf
  /www/luci-static/istore/index.js
)
for file in "${files[@]}"; do
  sed -i 's/istore.linkease.com/istore.istoreos.com/g' "$file"
done
is-opkg update

恢复原状

sed -i 's/istore.linkease.com/istore.istoreos.com/g' /bin/is-opkg
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /etc/opkg/compatfeeds.conf
sed -i 's/istore.linkease.com/istore.istoreos.com/g' /www/luci-static/istore/index.js
is-opkg update

文章作者: kukuqi666
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 kukuqi666 !
评论
  目录