V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  amrnxcdt  ›  全部回复第 1 页 / 共 5 页
回复总数  96
1  2  3  4  5  
18 天前
回复了 abiaqiou 创建的主题 NGINX 请教一个 Nginx 配置的问题
参阅一下官方的示例配置,针对 web 界面并没有启用 ws

https://github.com/dani-garcia/vaultwarden/wiki/Proxy-examples
@topBar #14 通讯行程卡已经接入了 iOS 的暴露通知 API ,iOS13 还专门更新了一次为了旧机型能用上暴露通知的 API ,Android 这边有 gms 的也会自动更新支持暴露通知 API ,但是通讯行程卡没有接入 Google 的暴露通知。至于数据安全的问题,暴露通知交换的蓝牙标识符是随机的,没有和身份关联。
其实 Android 和 iOS 都有“暴露通知”,要看当地有没有接入,而且用的人足够多才有效果
@amlee #4 你是不想 pull 完整 repo 吧,可以只 pull 最新一次的提交,git pull --depth=1
@amrnxcdt #7 没看到楼主用的是这个功能,那么应该只能往 system 放自定义的 Launcher
76 天前
回复了 V9NN 创建的主题 问与答 安卓无限重启故障排除求解答
开了调试吗,试下 logcat 看看有什么日志输出。

或者可以试一下拔掉 Sim 卡和外置储存卡开机。
77 天前
回复了 amrnxcdt 创建的主题 分享创造 尝试修复 andoid 开机缓慢的脚本
@kile #3 下面是我的看法:
如果说的是 /data 的话,Android 开机时候 init 会在 /data 内放置很多内容,毕竟 /data 才是可以持久化数据的地方,可以看到 init.rc 的 post-fs-data 有不少的 mkdir 操作,为了完整的 context 有必要重置这部分。

然后 /data/data 和 /data/user 这部分可以看具体的实现是跳过了这两个文件夹的 reset ,官方说法是:

This method helps in identifying paths that refer to users' app data. Labeling for app data is
based on seapp_contexts and seinfo assignments rather than file_contexts and is managed by
installd rather than by init.

对应源码: https://cs.android.com/android/platform/superproject/+/master:external/selinux/libselinux/src/android/android_platform.c;drc=master;l=1147

文档是在这里: https://source.android.com/security/selinux/implement?hl=zh-cn
这部分不是很懂,但是应该不是由 init 进程进行处理的。

检查源码之后可以发现类似的操作最早在 5.0 就引入了: https://cs.android.com/android/_/android/platform/system/core/+/refs/tags/android-5.0.0_r1:rootdir/init.rc;drc=7e58899bcfd83152581867b05bb012c5c4ec4b46;l=322

可能的是为了方便就直接一把梭直接 restorecon /data ,在 android 的 issue 发现有针对 /data 下目录的优化: https://issuetracker.google.com/issues/124858106

至于 /data/media/0 这个目录还没有找到有反应的,可能大家比较少在内置储存卡放大量文件 or 少用 WeChat 这样的聊天工具 or 没人在意开机速度。也没看见有类似的反馈就一直没处理这个路径。
78 天前
回复了 amrnxcdt 创建的主题 分享创造 尝试修复 andoid 开机缓慢的脚本
@SupperMary #1 默认是私人的,忘了公开,现在可以了。
-it 是 docker cli 的参数。https://docs.docker.com/engine/reference/commandline/run/#examples

This example runs a container named test using the debian:latest image. The -it instructs Docker to allocate a pseudo-TTY connected to the container’s stdin; creating an interactive bash shell in the container. In the example, the bash shell is quit by entering exit 13. This exit code is passed on to the caller of docker run, and is recorded in the test container’s metadata.
应该是一些文件名含有特殊符号(比如空格或者斜杠)被 shell 转义了,当成是参数传入了 ffmpeg 。
149 天前
回复了 luozhiyun 创建的主题 问与答 七牛云官网怎么变成鑫云融合云了?
@ReVanTis #9 是的,交叉对比 dmesg 的 1470 行附近:

````
[ 22.832502] init: Sending signal 9 to service 'apexd-snapshotde' (pid 482) process group...
[ 22.832651] libprocessgroup: Successfully killed process cgroup uid 0 pid 482 in 0ms
[ 167.837700] selinux: SELinux: Skipping restorecon on directory(/data/vendor_ce/0)
[ 167.837710] selinux:
[ 170.188237] selinux: SELinux: Skipping restorecon on directory(/data/misc/apexdata/com.android.wifi)
````


对应的 logcat 应该是 1214 行附近:

````
09-09 04:49:31.078 I/init ( 0): Service 'apexd-snapshotde' (pid 482) exited with status 0 waiting took 0.022000 seconds
09-09 04:49:31.078 I/init ( 0): Sending signal 9 to service 'apexd-snapshotde' (pid 482) process group...
09-09 04:51:56.084 I/selinux ( 0): SELinux: Skipping restorecon on directory(/data/vendor_ce/0)
09-09 04:51:56.084 I/selinux ( 0):
09-09 04:51:58.434 I/selinux ( 0): SELinux: Skipping restorecon on directory(/data/misc/apexdata/com.android.wifi)
````

可以看到两个日志输出都是跳过了一段时间。

下面是我的推测,restorecon --recursive 需要递归 /data 下每个文件产生的 io 开销非常大,所以导致系统启动过程卡在这里了。

参考这个 chmod -R 大量文件耗时的问题: https://unix.stackexchange.com/questions/79868/chmod-recursive-permission-on-thousands-of-files
@ReysC #8 见笑了,我不是 ROM 作者,只是一个普通的 android 用户。
@ReVanTis #4 看 dmesg 只有最后的几秒里面,restorecon 试图重设 /data/mise 下的文件但是没成功

在 dmesg 的 1469 行开始
````
[ 22.832478] init: Service 'apexd-snapshotde' (pid 482) exited with status 0 waiting took 0.022000 seconds
[ 22.832502] init: Sending signal 9 to service 'apexd-snapshotde' (pid 482) process group...
[ 22.832651] libprocessgroup: Successfully killed process cgroup uid 0 pid 482 in 0ms
[ 167.837700] selinux: SELinux: Skipping restorecon on directory(/data/vendor_ce/0)
[ 167.837710] selinux:
[ 170.188237] selinux: SELinux: Skipping restorecon on directory(/data/misc/apexdata/com.android.wifi)
[ 170.188253] selinux:
[ 170.262342] type=1400 audit(21675118.499:4): avc: denied { getattr } for comm="init" path="/data/misc/iorapd/sqlite.db" dev="mmcblk0p49" ino=541854 scontext=u:r:init:s0 tcontext=u:object_r:iorapd_data_file:s0 tclass=file permissive=0
[ 170.262883] selinux: SELinux: Could not stat /data/misc/iorapd/sqlite.db: Permission denied.
[ 170.262897] selinux:
````
下面连续多条都是 SELinux: Could not stat Permission denied.

感觉是已经枚举完整个 /data 下的文件了。
@ReVanTis #4 有的,在主贴靠中部的位置有 logcat 和 dmesg 。
@ysc3839 #3 thx 我用一台官方支持的设备提了一个 issue
@ysc3839 #1 本来我是想向 LineageOS 官方提 issue 的,可是我没找到入口在哪,转而向一个维护非官方版本的作者发了 issue 。

因为在 android 官方上也发现了这个代码, 所以想找大家看看非 lineageOS 的设备上是不是也有同样的问题。
222 天前
回复了 viamcc 创建的主题 NGINX 请教各位大佬一个 nginx 配置问题
@gengchun #4 楼主已经解决了但是还是纠正一下,$server_name 才是在 server_name 指令中配置的第一个域名。

server_name 指令指定多个域名的时候应该用$host 来获取正确的主机名,参考 8#和 10#的重写规则。

因为楼主多域名配置而且是第二个域名访问出现问题,我一开始认为是变量问题。

文档在 http://nginx.org/en/docs/http/ngx_http_core_module.html 的 Embedded Variables 节。

相关讨论 : https://serverfault.com/questions/706438/what-is-the-difference-between-nginx-variables-host-http-host-and-server-na
1  2  3  4  5  
关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1005 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 27ms · UTC 20:20 · PVG 04:20 · LAX 13:20 · JFK 16:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.