Ubuntu xenial 16.04。Calibre 2.55。一切运行正常,但当我尝试在 nas 共享上创建一个空库时,选择一个空的无标题文件夹。
我有Traceback (most recent call last): File "/usr/lib/calibre/calibre/gui2/ui.py", line 637, in library_moved db = LibraryDatabase(newloc, default_prefs=default_prefs) File "/usr/lib/calibre/calibre/db/legacy.py", line 73, in __init__ load_user_formatter_functions=not is_second_db) File "/usr/lib/calibre/calibre/db/legacy.py", line 46, in create_backend load_user_formatter_functions=load_user_formatter_functions) File "/usr/lib/calibre/calibre/db/backend.py", line 358, in __init__ self.initialize_database() File "/usr/lib/calibre/calibre/db/backend.py", line 1093, in initialize_database cur.execute('BEGIN EXCLUSIVE TRANSACTION') File "src/cursor.c", line 236, in resetcursor BusyError: BusyError: database is locked
stat ~/mountpoint/Untitled\ Folder/ File: '/home/y/mountpoint/Untitled Folder/' Size: 0 Blocks: 0 IO Block: 16384 directory Device: 31h/49d Inode: 21919 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 1000/ y) Gid: ( 1000/ y)
答案1
值得注意的是这里,我们并不打算,甚至不鼓励将 Calibre-Library 存储在网络共享上并通过不同的设备从不同版本访问它。
但是,通过一些调整,似乎至少可以让 Samba 共享在使用 CIFS 挂载时正常工作。首先,通过指定 uid 选项并将其设置为 1000(如您的帖子下方的评论中所述),确保您对共享具有正确的权限。然后,似乎还需要包含 nobrl 选项,如建议的那样这里。(如果有人对此有所了解并且知道为什么需要这样做,我将不胜感激,我只是一个愚蠢的小终端用户。)您的最终 mount 命令应如下所示:
mount -t cifs -o username=your_username,password=your_password,uid=1000,nobrl //your_server_name/your_sharename /path/to/your/mountpoint
我可以确认这对我而言适用于 Ubuntu 19.10 x86_64 上的 Calibre 版本 3.46.0。