如果真的想要创建一个一直运行的脚本,最经济的方法可能是用sleep循环
while true; do sleep 2147483647 done
@胡椒舰长,启动容器时,使用
-it(也就是-i -t)启动交互式会话即可,-it加/bin/bash就不会自动退出(因为bash会一直等待控制台输入,而控制台永不输入)。如果没有/bin/bash,还可以用/bin/shdocker run -d -it --entrypoint=/bin/bash --name xxx debian docker exec -it xxx bashdocker run -d -it --entrypoint=/bin/sh --name yyy debian docker exec -it yyy sh
在GNU/Linux中,
su/sudo/pkexec等请求root权限的应用程序都依赖setuid权限,所以这些文件的权限都是4755(-rwsr-xr-x)。安卓的
su命令是个例外,因为安卓全面禁止了setuid权限,所以su命令根本无法自行切换到root。安卓的su实际进行的操作是,“远程连接”到以root权限运行的su守护进程,然后以类似于ssh远程登录的方式执行命令。实际的命令都是在su守护进程(相当于ssh服务器)上运行的,所以安卓的su命令本身(相当于ssh客户端)不需要任何特殊权限。
这个文件原本就是755权限
这种表述方式(前面没有0),说明你不了解
setuid权限。
/usr/bin/pkexec的正常权限是4755(-rwsr-xr-x),开头的4表示setuid(设置uid,也就是切换用户)。
解决方案是将权限设为
0755(-rwxr-xr-x),取消了setuid,这样这个命令就不能用于切换到root用户了,所以不再有危害,当然,也不再有作用。任何使用pkexec请求root权限的图形界面应用程序都会失败。不过,服务器上没有图形界面应用程序,而命令行程序通常都用
sudo请求root权限,所以几乎没有影响。不要在Linux桌面系统内修改
pkexec权限!
@卷心菜,mysql的source 和mysql < 1.sql这样导入数据没有区别,但是如果没有
use 表,会报错说未选择数据库。
@罐子,突然失去兴趣,被我暂存在分支里了。以后有兴趣再说。
@罐子,方法你自己找,我没有。
@罐子,我正在开发公共回调代理。
@罐子,嗯,如果数据不重要,删掉数据文件夹重新开始比较简单。如果数据很重要,也确实有办法修复,MySQL有一些修复命令,我很久以前用过,现在都忘了。
步骤18:更新虎绿林程序,初步修复和PHP8.1点兼容性。
因为有git,更新虎绿林程序相当简单。执行以下命令:
# 跳转到网站文件夹 cd ~/hu60wap6 # 拉取更新 git pull --recurse-submodules然后再打开网站看看:
http://localhost:8080/?r=54321
已经可以无错显示了。
要查看更新历史,可执行以下命令:
cd ~/hu60wap6 git log可以按Termux显示的
↑和↓按钮滚动更新历史。输入字母
q可退出更新历史界面。
@罐子,对了,现在有一个在64位Termux中安装32位java的新教程。如果你的MySQL在64位Termux中正常,你可以再次用回64位Termux。
@罐子,mysql数据文件夹里的数据是不可移植的,不同版本的数据文件结构不同。你应该用导入导出SQL来转移数据,而不是直接复制数据文件夹。
@罐子,如果你没有复制数据文件夹,那么目前的提示可能意味着数据文件夹里的内容已经损坏。你可以
killall mariadbd,删除所有数据(就在你所在的文件夹),然后重新开始。把所有要执行的SQL重新执行一遍。
@罐子,我改了一个32位的Termux(就是把64位库删除了),安装的32位java可以用。需要卸载原app重装。
termux_arm32_118.apk(24.86 MB)其实不需要我修改的这个包,我发现Termux的github提供了32位包:
termux-app_v0.118.0+github-debug_armeabi-v7a.apk(28.50 MB)
@罐子,看起来不需要我回复
@罐子,我想到一个新方法,我们找个32位的java,就没有这些麻烦了。标记指针仅限64位应用程序。
@罐子,突然发现我升到安卓12了,原来MIUI13的线刷包是安卓12
所以如果你还是安卓11的话,我写的解决方法可能管用。
