分类 计算机 下的文章

【笔记】docker-compose安装的immich从v1.112.1升级到v2.0.1的注意事项

个人笔记,如有转载,请注明出处。

——by realasking

最近登录自己部署在NAS中的immich,老是提示要更新到2.0.1,于是就更新了,中间遇到了些问题,解决之后,在此作个笔记。

  1. 首先down掉immich服务

2.然后要由软件作者提供的最新的docker-compose.yml和.env文件修改

但不要照抄,而是进行修改。比如:

(1) 所有image行,都改成2.0.1的

(2) - ${UPLOAD_LOCATION}:/usr/src/app/upload行不要改

(3) immich-server:节下的:

    ports:
      - 2283:3001

改为:

    ports:
      - 2283:2283

(4) env_file:子节改成自己使用的,如:

    env_file:
      - immich.env

(5) database:节去掉healthcheck:command:子节,加上shm_size: 128mb

然后先up immich服务,此时会失败。查看log文件,有类似如下提示:

[Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
immich_server            | [Nest] 18  - 10/12/2025, 10:54:22 PM   ERROR [Api:StorageService] Failed to read (/usr/src/app/upload/encoded-video/.immich): Error: ENOENT: no such file or directory, open '/usr/src/app/upload/encoded-video/.immich'

但如果直接新建相关的若干.immich文件,还是会报错,需要先逐级更新,再加文件。

  1. down掉immich,先更新到v1.132.1,再更新到v1.136.0

(1) 更新到v1.132.1的作法是,在openmediavault的compose文件那儿,打开immich的文件,勾选显示环境文件。将如下内容:

IMMICH_VERSION=release

修改为:

IMMICH_VERSION=v1.132.1

然后先pull,再up

更新到v1.136.0方法相同。

(2) 更新到v1.132.1后,会发现登录后所有的缩略图和图片都不显示,此时退出来,再更新到v1.136.0

(3) 更新到v1.136.0之后,会再次报找不到各.immich文件的错误,此时先down掉immich服务,再用docker用户的帐户ssh登录到NAS,执行以下命令:

cd 设置的upload文件夹
for i in library thumbs upload;do touch ${i}/.immich;done
for i in backups encoded-video  profile; do mkdir $i;chmod 755 $i;touch ${i}/.immich;done

然后重新up,再登录,发现immich正常了。

4.更新到v2.0.1(本文成文时的release版)。

(1) down掉immich服务

(2) 将环境文件中如下内容:

IMMICH_VERSION=v1.136.0

修改为:

IMMICH_VERSION=release

(3) 然后pull,再重新up

immich就更新完毕了。

[原创]Windows 11上访问Linux上架设的NFS共享目录

个人原创,如有转载,请注明出处。

——by realasking

Windows 11上访问局域网NAS的NFS不能用Windows自带的NFS Client,用该方法需要加域,用ACTIVE DIRECTORY,配置非常复杂。网传的改注册表中的uid和gid的方法现在已经失效,况且改为root的gid和uid并不安全。2008年的nfs v4.1 client for windows项目在2012年后也再无更新,现在基本处于难以使用状态。

经过多日搜索,目前找到了以下方法,不过访问效率不是很高。

1.安装Windows自带的NFS Client功能,因为它的一些工具我们需要。

2.从github下载并安装winfspnfs-win,这是第三方的nfs驱动。

3.重启电脑。

4.查找NAS上具有NFS共享访问权限的用户uid和gid,这个gid必须是用户的基本组id,不是NFS组的gid。
比如我自己的uid是1000,gid是100,这个100是users组的gid,users组是我的用户realasking的基本组。

5.打开Windows终端,在启动的powershell窗口中查看Windows电脑的用户名,就是提示符中>前、users\后的内容。

6.输入命令showmount -e NAS的IP,找到NFS共享目录。

7.打开文件管理器,在此电脑上单击右键,点击映射网络驱动器。

8.在文件夹中输入:

\\nfs\windows电脑的用户名=NAS上的用户uid.NAS上的用户gid@NAS的IP\NFS共享目录

9.选择一个盘符,然后点击确定。

只是做到这样,还是不够的,还要让wsl也能正常使用nas,做法是:

  1. 执行命令:

sudo vi /etc/wsl.conf

输入以下内容后保存:

[boot]
systemd=true
  1. 重启电脑或wsl
  2. 在wsl中执行以下命令安装和启用nfs client:
sudo apt install nfs-client nfs-common
sudo systemctl enable --now nfs-client.target
  1. 执行以下命令:

mkdir /mnt/z

  1. 输入命令showmount -e NAS的IP,找到NFS共享目录。
  2. 执行命令sudo vi /etc/fstab,加入以下内容:
NAS的IP:NFS共享目录 /mnt/z nfs _netdev,noauto,x-systemd.automount,x-systemd.mount-timeout=10,timeo=14,x-systemd.idle-timeout=1min 0 0

然后重启电脑就行了。

[原创]Intel 13代无核显i5加RTX4060台式机Linux下闪屏及锁屏无法关闭背光的解决

原创文章,如有转载,请注明出处。

——by realasking

前段时间自己组装了一台i5-13490f+RTX4060的台式机,顶替一台不久前坏掉的笔记本,并在还没有计算设备的情况下,暂时兼作计算模拟平台使用。

机器使用大体上还行,但是遇到了几个问题,折腾了十几天,才算解决,其中花了最多精力的就是偶发闪屏,并且锁屏后无法关闭背光的问题。

这台机器在Linux下使用时,用HKC显示器带的HDMI线连接时,使用中会偶而闪屏,在Windows下正常。因为显示器自带的线不算粗,自己以前又对DP线有比较好的印象,并且显示器自带DP和HDMI切换功能,也许可以节省一台KVM,所以就买了一条联想的DP线。换线之后,闪屏立马消失了,为此我着实高兴了一阵,殊不知这恰恰是走了一段弯路。

然后就着手解决Linux下锁屏后无法关闭背光问题。这个问题表现为自动锁屏或手动锁屏后,显示器背光会熄灭,但几秒后就会亮起,此后就一直长亮。这个问题在我的机器上和多个因素有关,因此开始时被一些因素干扰了判断。

显示器背光开始会熄灭,说明主板BIOS、内核和系统中的ACPI选项与服务都是正常工作的,然后再亮起,说明之后有什么进程唤起了相关功能。经过检查journal和dmesg信息,发现wifi在报错和启动。我的wifi是AX101,默认设置下在Linux下无法成功进行认证的,必须disable掉wifi6、只启动wifi5才能正常使用,但这么做了之后,在锁屏后它会发送报错信息,这一操作,是屏幕亮起来的第一个原因。如果能够不用此wifi,只用有线,那应该能解决了吧?但这个wifi是集成在主板上的,而我用的这块七彩虹战斧b760m white wifi v20主板的BIOS中并没有关闭此wifi或关闭此wifi的wifi6功能的选项,所以最后的解决方法是:

1.连接有线网卡
2.不再屏蔽wifi6功能
3.在KDE中去掉启用WIFI前的复选框

这么做了之后,确实日志中没再报错了,但锁屏并关闭背光后会几乎立刻亮起来,这是什么原因呢?经过检查后发现,由于显示器是VA的,最低亮度比较高,我调用了xrandr降低亮度,但当时偷了点懒,相关的命令写在conky中的。把这个命令从conky配置中移到单独的脚本中,然后配置为KDE的启动脚本,然后屏幕又变成了过几秒亮起来......

启动脚本~/bin/AutoBrightness.sh:

#!/bin/bash
# Disp = "DP-4"
Disp = "HDMI-0"
sleep 10
xrandr --output ${Disp} --brightness 0.76

至此陷入了困境。由于我有一台R7000p2021版,是amd 5800h+RTX3050Ti的,它的锁屏是正常的,我就对比了一下两台机器加载的内核模块,有两个发现:

1.R7000p2021加载了nvidia_wmi_ec_backlight,wmi,wmi_bmof模块,而这台台式机没有
2.drm的模块不同,R7000p2021的除了加载了nvidia_drm外,还加载了amd核显的相关模块

尝试用modprobe手动加载nvidia_wmi_ec_backlight后,wmi,wmi_bmof也会被加载,但锁屏并关闭背光后,屏幕还是会再次亮起,只是时间间隔又是瞬间亮起了。

纠结了一段时间之后,突然想换成HDMI线试试,然后发现手动加载相关模块的情况下,用HDMI线连接,有时能正常关闭背光,有时还是会亮起,但用配置文件自动加载模块则还是不能关闭背光,同时,屏幕偶发闪烁又出现了。那么,是否和drm有关呢?于是又做了两个设置:

  1. 新建内核模块自动加载文件/etc/modprobe.d/gpu.conf:
blacklist nouveau
blacklist ttm
blacklist drm_kms_helper
blacklist drm
options nvidia "NVreg_DynamicPowerManagement=0x02"
install wmi /sbin/modprobe -i -f wmi
install wmi_bmof /sbin/modprobe -i -f wmi_bmof

2.在/etc/default/grub中关闭modeset:

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet nomodeset"

3.重新生成/boot/grub/grub.cfg

然后重启。

于是锁屏也能黑屏了,闪屏也不再发生了...

[原创]内核中没有nfs模块的联想个人云存储A1怎么挂载到Linux上作共享分区使用

个人原创,如有转载,请注明出处。
——by realasking

今天有人问起联想个人云存储怎么挂载到Linux上作共享分区的问题,就稍微折腾了一下。

众所周知,NAS的一个重要用法是以NFS协议挂载到多个GNU/Linux结点设备上作为共享分区。这么做好处很多,比如需要在多台设备分别调试一个程序的时候,可以不用反复搬运程序、从而避免可能引入的不一致;又比如需要跨结点计算时,可以不必复制多套相同数据,从而节省存储空间和减少数据交换。但是,现在很多“轻路由”却阉割掉了这一功能,在使用上引起了一些不便。

联想个人云存储A1就是如此的,它没提供NFS功能,但好在它的文件共享使用的是samba技术实现的,所以可以用cifs工具来进行挂载。做法如下,不过要注意我是已经获取了A1的root权限和永久ssh登录功能的:

在一台安装有Archlinux的设备上,执行以下命令安装cifs相关工具:

sudo pacman -S smb4k cifs-utils gvfs-smb

然后用以下命令先手动挂载个人云的samba目录:

sudo mkdir /mnt/SMB
sudo mount  -t cifs //个人云IP/Samba用户 /mnt/SMB -o user=Samba用户,pass=Samba密码,rw,file_mode=0777,dir_mode=0777

打开smb4k,在“已挂载的共享”中的这个挂载好的图标上单击右键-添加书签。

再点击设置-配置smb4k-挂载-通用挂载设置,勾选写入权限,点击确定。

然后卸载已挂载的共享,之后就可以在smb4k的书签菜单下直接点击保存的书签进行挂载了。

做好后,挂载的samba目录默认在${HOME}/smb4k/个人云IP/Samba用户下,用当前用户可以进行读写执行操作,但是保存在个人云上会是root权限。

然后可以把smb4k的快捷方式放到常用程序中,用的时候相对方便。

[原创]解决Windows 11上64位kile安装后闪退崩溃的问题

个人原创,如有转载,请注明出处。
——by realasking

最近遇到一个怪事情,两台笔记本同时通过微软商店装kile的Windows版,一台运行正常,另一台总是一打开就闪退崩溃。查看日志显示,是ntdll.dll错误,代码0xc00000fd。
对于这个问题,首先在出问题的机器上通过regsvr32.exe /u ntdll.dllregsvr32.exe ntdll.dll重新注册ntdll.dll库,但是提示找不到入口;然后更换了不同的64位的kile版本,也没有解决问题;之后又尝试过兼容模式和重装amd和nvidia(机器是5800H+3500Ti)驱动,也没有改善;对比两台机器装的微软更新和Visual C++ Redistributable也基本一样......顿时一筹莫展。然后想看看旧版本的kile可不可以跑,但网上几乎找不到早些时候的版本的,只好翻自己的一堆硬盘,还好找到了一个2019年的kile-2.9.92-2-windows-msvc2017_32-cl.exe,装上去结果正常了。惊喜之余觉得很奇怪,因为这是一个32位的早期版本,但又不再是2.1.x分支,而已经是kile3分支了,它能运行的话,后来的64位版本更没理由跑不了。于是猜测问题可能还是出在Visual C++ Redistributable上。
由于我的两台机器装的软件比较杂,vcdist的2005,2008,2010,2012,2013,2015-2022的x86和x64版都有安装,它们之间是不是会有什么问题?经过反复的尝试,发现先把它们都卸载,然后先从2015-2022开始,按时间倒序(每个年份的都是先装x86,后装x64)来装好这些库,再安装kile就没问题了,此时系统中的其它软件也都能正常运行。

最新文章

最近回复

  • realasking: 哪里的话,还要非常感...
  • cnfczn: 发送留言报错:in_...
  • cnfczn: 大狮兄666,以前经...
  • realasking: 最近还行啊,就是上网...
  • cnfczn: 大狮兄,好久不见啊....
  • realasking: 您好。有什么问题就在...
  • Eric Chen: 作者你好!最近折腾中...

分类

归档

其它