• Openwrt 恢复系统后默认空间小


    关注 码龄 粉丝数 原力等级 -- 被采纳 被点赞 采纳率 Mavericks_wolf 2024-06-18 09:10 采纳率: 0% 浏览 4 首页/ 网络 / Openwrt 恢复系统后默认空间小 https网络其他 你好;本人不擅长网络,最近我的Openwrt 出现了各种问题,目前有一个小问题,请教一下。谢谢! 问题描述:磁盘空间很小,发现很多东西都是相同的,不知道是否可以删除来增加磁盘安装空间;不敢安装程序,是否可以删除一些不必要的磁盘:请查看图片: 目的,只是想腾出空间来安装程序 设备:J1900系统:OpenWrt R24.2.2 V1 [2024] / LuCI Master (git-24.071.07817-8e15fc6) 如有不对的地方,请指出,我尽快更新。谢谢 收起 写回答 好问题 0 提建议 追加酬金 关注问题 微信扫一扫 点击复制链接 分享 邀请回答 编辑 收藏 删除 结题 收藏 举报 追加酬金 (90%的用户在追加酬金后获得了解决方案) 当前问题酬金 ¥ 0 (可追加 ¥500) ¥ 15¥ 20¥ 50¥ 100¥ 200 支付方式 扫码支付 二维码出错 点击刷新 支付金额 15 元 提供问题酬金的用户不参与问题酬金结算和分配 支付即为同意 《付费问题酬金结算规则》 结题 再想想 删除 再等等

    2条回答 默认 最新

    • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-18 09:10
      关注

      引自免费微信小程序:皆我百晓生

      面对OpenWrt设备磁盘空间紧张的问题,有几种方法可以帮助你释放空间以便于安装更多软件包。下面将详细解释每一步操作。

      1. 清理无用的软件包和缓存

      运行以下命令来清理旧的软件包缓存和未使用的依赖包:

      opkg update
      opkg upgrade
      opkg list-installed | grep -v "^luci" | awk '{print $1}' | xargs opkg remove --force-depends --force-remove
      opkg clean
      

      这会更新软件包列表,升级已安装的软件包,然后移除所有非LuCI相关的软件包(确保LuCI界面不会被移除),并最后清理缓存。

      2. 移除不需要的内核模块

      OpenWrt系统中可能包含了许多你并不需要的内核模块,这些模块占用了宝贵的存储空间。可以通过以下命令查看并移除它们:

      lsmod | awk '{print $1}' | xargs modprobe -r
      

      但这只是临时移除模块,重启后它们可能会重新加载。要永久性地从内核配置中移除它们,你需要重新编译内核,这是一个较为复杂的过程,涉及修改.config文件并重新构建整个固件。

      3. 使用squashfs工具压缩文件系统

      如果你的OpenWrt设备使用的是/rom分区,它可能是基于squashfs文件系统。尽管squashfs是只读的且默认压缩,但有时候重新创建一个更高效压缩比的版本可以节省空间:

      # 备份当前的根文件系统
      dd if=/dev/root of=root.squashfs
      # 创建一个新的空的压缩文件系统
      mksquashfs root.squashfs new_root.squashfs -comp xz
      # 将新的文件系统复制回原来的分区
      dd if=new_root.squashfs of=/dev/root
      # 清理
      rm root.squashfs new_root.squashfs
      

      请注意,执行以上步骤前确保备份重要数据,因为这会重写根分区。

      4. 扩展文件系统

      如果/mnt/sda3分区有足够的空间,并且你想要利用这部分空间,可以考虑将/overlay/rom指向/mnt/sda3,或者在/mnt/sda3上创建一个新的可扩展文件系统(如ext4)。这样可以显著增加可用空间。但是,这通常需要重新分区和格式化/mnt/sda3,并且重新配置启动脚本以正确挂载新文件系统。

      5. 卸载不必要的分区

      从你的输出看,有几个分区被重复挂载,比如/boot/mnt/sda1。确认是否真的需要这些重复的挂载点,如果不是,则可以在/etc/fstab中删除相应的条目,或者在启动脚本中修改挂载行为。

      结论

      通过上述方法,你应该能有效释放OpenWrt设备上的空间,为安装新软件包腾出空间。每一步操作都需要谨慎进行,特别是在修改分区和文件系统时,务必确保有完整的备份方案。如果不确定如何操作,建议在社区论坛或官方文档中寻求更详细的指导。

      展开全部

      评论 编辑记录
    • 关注

      上午好☀️☀️☀️️
      本答案参考ChatGPT-3.5

      看起来您遇到了一个关于在Openwrt中删除或更改已使用的磁盘分区的问题。以下是一些可能的解决方法:

      1. 根据您的需求,确定需要删除的分区:
      • 如果您想腾出空间安装程序,可以选择要删除的tmpfs分区。
      • 如果您不想安装程序,那么可以选择要删除的/dev/sda1分区。
      1. 使用rm -rf命令删除分区:
      • 您需要确认当前磁盘分区是否正确,如果不是,需要先将它与原分区合并再删除。
      • 操作如下:
      sudo rm -rf /dev/root tmpfs /dev/loop0 overlayfs:/overlay dev/sda1 /boot /mnt/sda3
      

      这将删除所有文件和目录,并且数据将被覆盖。 注意:这个操作会永久删除分区,所以在执行之前一定要备份重要数据。 3. 如果您决定删除分区,您可以尝试使用dd命令,将其从原始分区复制到新的分区中: * 您需要首先将原始分区挂载到文件系统中: * mount /dev/sda1 /mnt/sda1 * 然后,在目标分区上创建一个新的分区,例如 tmpfs: * mkfs.tlb /mnt/sda3 * 接下来,从原始分区中复制文件和目录到新分区中: * dd if=/dev/sda1 of=/mnt/sda3 bs=1G conv=fdatasync | gzip > /dev/null

      注意:这个操作也需要相应的权限才能完成,而且可能会导致数据丢失,所以最好在备份了重要的数据之后再进行这个操作。 4. 在重启过程中,手动选择重新分区:

      * 当系统启动时,打开终端(通常是在启动菜单中)
      * 输入以下命令,然后按回车键:
          ```
          sudo parted /dev/sda1 resize
          ```
      * 这将会使您的系统重新分区。
      

      希望这些信息能帮助您解决问题。如果您还有其他问题或者无法解决问题,欢迎随时向我提问。

      评论
    编辑
    预览

    报告相同问题?

  • 相关阅读:
    机器视觉Halcon-焊点提取排序设计思路一
    springcloud15:config配置中心+Bus消息总线
    Web前端:Web应用程序的组件指南
    ⑫、企业快速开发平台Spring Cloud之HTML 脚本
    Python多进程和多线程对比总结
    Spring Boot DTO 验证示例
    基于matab GUI的图形处理火焰检测系统
    LeetCode206.反转链表
    Python学习笔记 - 函数和lambda表达式 (1)
    GIT 提交规范
  • 原文地址:https://ask.csdn.net/questions/8120170