天涼好個秋.

openwrt 编译 tmux

1096 阅 0 评 问题&解决方案

tmux 是什么

tmux 是一个优秀的终端复用器类自由软件,功能类似 GNU Screen,但使用 BSD 许可发布。用户可以通过 tmux 在一个终端内管理多个分离的会话,窗口及面板,对于同时使用多个命令行,或多个任务时非常方便。

为什么想安装它

开发插件经常打开 N 个 putty ,然后在切换的时候经常迷失,之后尝试安装 tmux ,但官方源里没有,遂一不做二不休,自己编译一个。

编译

openwrt 的feeds/package 包含了 tmux 所以编译起来很简单。

  1. 在 sdk 根目录下 make menuconfig
  2. 依次选择 Utilities -> tmux ,然后用空格将其标定为 M
  3. 退出并保存 config
  4. 运行 make package/feeds/packages/tmux/compile -j4 V=99
  5. 如不出意外,生成文件在 bin 目录下

一个小问题

安装编译后的 ipk 会报错

line 4: default_postinst: not found

解决方法

编辑 include/package-ipkg.mk 文件
删除如下部分

        ( \
            echo "#!/bin/sh"; \
            echo "[ \"\$$$${IPKG_NO_SCRIPT}\" = \"1\" ] && exit 0"; \
            echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \
            echo "default_postinst \$$$$0 \$$$$@"; \
        ) > postinst; \
        ( \
            echo "#!/bin/sh"; \
            echo ". \$$$${IPKG_INSTROOT}/lib/functions.sh"; \
            echo "default_prerm \$$$$0 \$$$$@"; \
        ) > prerm; \
        chmod 0755 postinst prerm; \

然后重新编译即可。

其他

文中省略了 Target System 和 Target CPU 的选择,请按照自己情况酌情选择。

参考

关于安装最新ipk包提示postinst出错解决方法

EOF