卡片召唤师
精华
|
战斗力 鹅
|
回帖 0
注册时间 2015-10-2
|
楼主 |
发表于 2024-7-28 12:13
|
显示全部楼层
本帖最后由 高卢鸡 于 2024-7-28 13:27 编辑
小更一下,也写一下后面的折腾历程。
上一楼提到的打rmrr补丁,pve官方在 6.2.16-13-pve内核之后已经将补丁patch到普通内核了,不需要用户自己操作了。当然kiler也好久没更新了,我后来用是Aterfax fork的。
近一年没有尝试将omv换到lxc上,但是本着不知哪里看来的“每个功能单独在一个虚机里,方便排查问题”,大概是这个意思吧,我把aria2的功能放在了debian模板的lxc里。
过程就不细表了,只说lxc要用nfc挂载nas主系统omv的盘,
1.不勾选非特权模式
2.这个语句到lxc配置文件里,也就是设定apparmor的白名单
- lxc.apparmor.profile: lxc-container-default-with-nfs
复制代码
添加一个lxc-container-default-with-nfs,参照lxc-default-cgns
- # Do not load this file. Rather, load /etc/apparmor.d/lxc-containers, which
- # will source all profiles under /etc/apparmor.d/lxc
- profile lxc-container-default-with-nfs flags=(attach_disconnected,mediate_deleted) {
- #include <abstractions/lxc/container-base>
- # the container may never be allowed to mount nfs*. If it does, it
- # will remount the host's devpts. We could allow it to do it with
- # the newinstance option (but, right now, we don't).
- deny mount fstype=devpts,
- mount fstype=cgroup -> /sys/fs/cgroup/**,
- mount fstype=nfs*,
- mount fstype=rpc_pipefs,
- }
复制代码
最近发现了alpine linux,介绍是一个轻巧的发行版,适合用来作为docker镜像、路由器等操作系统。整好pve的lxc模板里有alpine的模板,遂开始折腾。
建了一个以alpine为系统的lxc跑aria2,具体步骤教程挺多的,比较简单。
后面根据同步相册、录音文件等功能的需要(每次不管是线连手机还是微信传,大量文件还是不方便),搭建了syncthing服务器。
但是我碰到一个坑,后来才发现,浪费了很多时间。
alpine软件库里有syncthing,安装之后可以直接
- rc-upate add syncthing
- rc-service syncthing start
复制代码 调整config.xml里的网络地址为127.0.0.1:8384,改为0.0.0.0:8384
一通操作下来发现webui始终访问不了,但是我在win系统下直接点开exe就打开了webui。
经过反复尝试,终于发现/etc/init.d/syncthing里
- command_user="${SYNCTHING_USER:-syncthing}"
复制代码 这条命令,用syncthing用户启动程序,但是我没有建立这个用户,查询passwd文件,发现是sbin/nologin没有启用状态。
遂启用这个用户,这次终于没有问题了。
问题原因是,openrc启动syncthing使用syncthing用户,但是我没有建立,所以不知道有这个用户,root下
- ~ # syncthing --paths
- Configuration file:
- /root/.local/state/syncthing/config.xml
- Device private key & certificate files:
- /root/.local/state/syncthing/key.pem
- /root/.local/state/syncthing/cert.pem
- GUI / API HTTPS private key & certificate files:
- /root/.local/state/syncthing/https-key.pem
- /root/.local/state/syncthing/https-cert.pem
- Database location:
- /root/.local/state/syncthing/index-v0.14.0.db
- Log file:
- -
- GUI override directory:
- /root/.local/state/syncthing/gui
- CSRF tokens file:
- /root/.local/state/syncthing/csrftokens.txt
- Default sync folder directory:
- /root/Sync
复制代码
依然按照root用户的配置去修改,当然会出错。
启用syncthing用户,或者直接root用户运行(官方不建议这样)。
然后就可以见到syncthing webui了。手机上安装app后方便同步,但是ios上没有官方客户端,有个第三方应用Möbius Sync,我还找到了开发者在syncthing论坛的帖子,但是这个应用需要38元才能解锁完全版。
顺便提一句,用alpine模板建立的lxc,真的很小,备份文件才30mb;对比debian模板建立的lxc,近300mb。
|
|