【问题标题】:Softether deb package installation fails on Ubuntu 14.04Softether deb 包安装在 Ubuntu 14.04 上失败
【发布时间】:2016-02-29 23:08:14
【问题描述】:

我使用 SoftEtherVPN 源在https://github.com/SoftEtherVPN/SoftEtherVPN 创建了一个新的 deb 包

checkinstall -D make install

该过程成功安装了软件,但生成的 deb 包安装失败并出现此错误:

unable to create `/proc/sys/kernel/threads-max.dpkg-new' (while processing `./proc/sys/kernel/threads-max'): No such file or directory

我不知道如何解决这个错误。

MVCE:

ssh root@my_new_14.04_vps_ip
apt-get update && apt-get -y upgrade
apt-get -y install git-core build-essential 
apt-get install libreadline6-dev libncurses5-dev libssl-dev
apt-get install checkinstall
git clone https://github.com/SoftEtherVPN/SoftEtherVPN.git
cd SoftEtherVPN
./configure
checkinstall -D make install

【问题讨论】:

  • 您是否以 root 身份运行?也尝试手动创建目录...: sudo mkdir ./proc/sys/kernel/threads-max
  • 尝试第二个建议...我不知道它是否有效...
  • /proc/sys/kernel/threads-max 存在。 threads-max 是一个空文件但是 touch: cannot touch 'threads-max.dpkg-new': No such file or directory
  • 这很奇怪......虽然错误消息说./proc/sys[...]。注意路径前的点...或者系统需要重新启动?有时重启可以解决问题:/
  • 呃,忘记我的评论吧,SoftEtherVPN/src/Mayaqua/Unix.c 中的源代码似乎在写入 proc。 checkinstall 然后认为这是要包含在包中的文件。 checkinstall --exclude /proc/sys/kernel/threads-max -D make install 是否有助于解决这个误解?

标签: ubuntu package checkinstall


【解决方案1】:

proc file system 向许多 Linux 内核工具公开了一个简单的伪文件接口。 threads-max 设置,顾名思义,控制内核允许在系统中创建多少线程。安装程序尝试将合适的值写入此文件,但checkinstall 假定安装程序尝试在此位置创建或覆盖实际文件。 dpkg 不允许这样做,因此您从 checkinstall 获得的包不兼容。

你可以告诉checkinstall忽略这个文件,如果需要的话,也许在安装包时添加一个单独的postinst脚本来通过其他方式写入这个设置。

checkinstall --exclude /proc/sys/kernel/threads-max -D make install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-18
    • 2023-03-31
    • 2015-06-08
    • 1970-01-01
    • 2015-09-25
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多