Android如何将原生的anr,tombstones,dropbox 换分区存储位置

1. mkdir /log/anr 0775 system system encryption=Require
2. mount none /log/anr /data/anr bind

这两条命令主要涉及 Linux/Android 系统中的目录创建、权限管理和挂载操作,通常用于 Android 设备的日志管理,特别是 ANR(Application Not Responding,应用无响应) 日志的存储。

一. mkdir /log/anr 0775 system system encryption=Require

  1. mkdir /log/anr

    • 创建 /log/anr 目录,作为 ANR 日志存储的目标路径。
  2. 0775(权限设置)

    • 该权限采用 八进制表示法,0775 的含义如下:
    • 0(表示特殊权限位,这里没有设置 SUID、SGID 或粘滞位)。
    • 775(rwxrwxr-x)
      • 用户(owner):rwx(可读、可写、可执行)。
      • 用户组(group):rwx(可读、可写、可执行)。
      • 其他用户(other):r-x(可读、可执行,但不能写)。
    • 这意味着:
      • system 用户和 system 组都可以完全访问(读、写、执行)。
      • 其他用户只能读取和执行,不能写入。
  3. system system(用户和用户组)

    • 设置 /log/anr 目录的 所有者(User)为 system。
    • 设置 /log/anr 目录的 所属用户组(Group)为 system。
    • system 用户和 system 组在 Android 系统中通常用于 系统进程,而非普通应用进程。
  4. encryption=Require(加密要求)

    • 这是 Android FBE(File-Based Encryption,基于文件的加密)的一部分,表示:
      • 此目录需要加密。
      • 只有当设备处于 已解锁(decrypted)状态时,system 用户才能访问该目录。
    • 这通常用于保护敏感数据(例如 ANR 日志),避免未授权访问。

二. mount none /log/anr /data/anr bind

  1. mount

    • 该命令用于挂载文件系统或目录。
  2. none

    • 这里 none 表示不使用特定的文件系统类型(如 ext4、vfat),因为这是 绑定挂载(bind)。
  3. /log/anr(源目录)

    • /log/anr 是前面创建的目录,作为 ANR 日志的实际存储位置。
  4. /data/anr(目标目录)

    • /data/anr 是 ANR 日志的标准路径(默认存放 ANR 日志的目录)。
    • 但由于某些系统(如某些 Android 设备)可能会将 /data/anr 设为只读,或者希望将 ANR 日志存放到 /log/anr,因此使用 绑定挂载 来映射目录。
  5. bind(绑定挂载)

    • bind 选项表示:
      • 将 /log/anr 目录绑定到 /data/anr。
      • 之后,访问 /data/anr 实际上是在访问 /log/anr。
      • 这样可以改变日志的存储位置,而不影响 Android 系统的默认日志路径。

总结

  • mkdir /log/anr 0775 system system encryption=Require

    • 创建 /log/anr 目录,权限为 0775。
    • 目录归 system 用户和 system 组所有。
    • 目录需要加密,确保敏感日志数据受到保护。
    • mount none /log/anr /data/anr bind
  • 绑定挂载 /log/anr 到 /data/anr。

    • 这样,所有写入 /data/anr 的日志都会实际存储在 /log/anr。
    • 方便日志管理,并可能用于绕过 /data/anr 的存储限制。
    • 这通常用于 Android 设备的 ANR 日志管理,使日志存储更加灵活,并提高安全性和可维护性。
  • 不会占用 /data 分区的空间,因为 mount none /log/anr /data/anr bind 只是绑定挂载(bind mount),而不是复制数据或移动数据。

    • 不会占用 /data 分区的空间,因为数据实际存储在 /log/anr 所在的分区。
    • 会占用 /log 分区的空间,因为 ANR 日志实际存储在那里。
    • 如果 /data/anr 之前有数据,它们在绑定挂载后不可见(但不会被删除,卸载后恢复可见)。
    • 可以通过 umount /data/anr 来取消绑定,恢复原始 /data/anr 内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值