使用flutter_to_debian生成Debian包遇警告与错误求助
问题分析与解决
1. 安装警告的解释
这个警告是flutter_to_debian库内置的安全提示,并非错误。Debian包在安装时,其维护者编写的预安装、后安装等脚本拥有系统完全操作权限,该提示目的是提醒你:当前要安装的包的创建者可在系统上执行任意操作,需确认是否信任该包的来源。这是库的默认安全机制,不属于配置或生成过程的问题。
2. 预安装脚本错误(exit status 1)的排查与解决
可能原因及处理步骤:
路径权限问题
配置中flutter_app.parent设为/usr/local/lib,该目录默认需root权限写入。可先检查目录权限:ls -ld /usr/local/lib正常权限应为
drwxr-xr-x root root,若权限异常,执行chmod 755 /usr/local/lib修正。依赖包问题
配置Depends指定的libsecret-1-0和libjsoncpp1可能未安装,或系统中包名存在差异。先手动安装依赖:sudo apt-get install libsecret-1-0 libjsoncpp1若提示包不存在,搜索系统对应包名:
apt-cache search libjsoncpp预安装脚本逻辑错误
提取deb包内的预安装脚本查看具体内容:mkdir temp_deb && cd temp_deb dpkg-deb -x ../aewallet_2.0.8_amd64.deb . dpkg-deb --control ../aewallet_2.0.8_amd64.deb cat DEBIAN/preinst根据脚本内容排查是否存在无效命令、路径不存在等问题,修正后重新打包。
架构不匹配
确认系统架构是否为amd64:uname -m若输出为
x86_64则与配置兼容;若为其他架构,需调整配置中的arch参数。
额外建议
若以上步骤无效,可尝试更新flutter_to_debian至最新版本,同时确保Flutter项目能正常编译为Linux可执行文件后再生成deb包。
内容的提问来源于stack exchange,提问作者redDwarf
相关产品推荐
相关产品推荐

