解决误删Android系统的tmp目录

    Android系统中的/data/local/tmp 目录是一个特殊目录,可以使用adb上传或拉取文件,许多工具也会将运行需要的文件推送到该目录下,如:Android投屏工具Scrcpy。

    前几天手抖误删了tmp目录,直接重新创建,发现还是访问不了,开启投屏工具会报错,提示"copy scrcpy-server' to '/data/local/tmp/scrcpy-server.jar': remote couldn't create file: Permission denied",终于在今天凌晨找到了解决方法,特此记录:

1、需要保证手机有root权限。(既然能删除这个目录肯定是已经拥有root权限了)

2、创建/data/local/tmp

# mkdir /data/loca/tmp

3、此时的tmp目录的拥有者和用户组都是root,需要改成shell,权限最好也改成与之前一致。

# chmod 771  /data/loca/tmp
# chown shell /data/loca/tmp
# chgrp shell /data/loca/tmp

4、然后就是关键一步,执行以下命令即可。

# chcon -R u:object_r:shell_data_file:s0 /data/local/tmp

参考文章:Android shell user has no access to /data/local/tmp even though it is the owner of that folder - Stack Overflow

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
解决Linux中`/tmp`目录下的文件不被清理的问题,可以尝试以下方法: 1. 检查`/etc/default/rcS`文件中的`TMPTIME`设置。确保`TMPTIME`的值不是`0`,而是一个正整数。如果将其设置为`0`,则会禁用对`/tmp`目录的定期清理。你可以使用文本编辑器打开该文件并进行修改。 2. 检查`/etc/cron.daily/tmpwatch`脚本。该脚本负责每天清理`/tmp`目录中的过期文件。确保该脚本存在并且没有被修改。你可以使用以下命令检查脚本是否存在: ```bash ls -l /etc/cron.daily/tmpwatch ``` 如果脚本不存在,可以尝试重新安装`tmpwatch`软件包,以确保其正确安装。 3. 检查`/etc/tmpfiles.d/tmp.conf`文件。该文件定义了在系统引导时清理`/tmp`目录的规则。确保该文件存在并且没有被修改。你可以使用以下命令检查文件是否存在: ```bash ls -l /etc/tmpfiles.d/tmp.conf ``` 如果文件不存在,可以尝试重新安装`tmpfiles.d`软件包。 4. 检查定时任务是否正常运行。使用以下命令查看定时任务的状态: ```bash systemctl status systemd-tmpfiles-clean.timer ``` 如果定时任务未运行,请使用以下命令启动它: ```bash systemctl start systemd-tmpfiles-clean.timer ``` 然后,使用以下命令查看定时任务是否已启动: ```bash systemctl status systemd-tmpfiles-clean.timer ``` 如果定时任务已启动,但问题仍然存在,可以尝试重新加载定时任务: ```bash systemctl reload systemd-tmpfiles-clean.timer ``` 请注意,根据你使用的Linux发行版和版本,可能会有一些细微差异。上述方法适用于大多数常见的Linux发行版,但具体步骤可能会有所不同。建议在执行任何修改前备份重要文件,并谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值