V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
adrianzhang
V2EX  ›  问与答

受够了桌面版,请对我的需求安利点什么。

  •  
  •   adrianzhang · 168 天前 · 1542 次点击
    这是一个创建于 168 天前的主题,其中的信息可能已经有所发展或是发生改变。
    一台备份服务器,目前安装着 Ubuntu Desktop ,远程桌面连接以使用 Calibre 。
    1) 要用 Calibre 图形版,硬需求,不要什么 Calibre-server, Calibre-web ,需要原版程序的各项功能。
    2) 因为 1 ,所以需要能够方便 MacOS 进行远程图形化连接,最好是 xRDP 因为可以用原生桌面,次选 VNC
    3) 要运行一些 Docker Container ,所以不希望有重启。
    现在的问题是桌面版动不动更新就要重启导致服务不稳定,准备更换。

    1) 考虑过 Ubuntu server CLI + X 方案,MacOS 上得装 X 。
    2) 考虑过 SuSE server ,以前有用过 Desktop GUI 版本或 Server CLI ,不知道 Server GUI 能否满足需求,有没有坑。
    3) 考虑过 FreeBSD ,同 2
    4) OpenBSD, NetBSD, RedHat/CentOS, Debian, 都只用过 Server CLI ,不知道有没有 Server GUI 或者 Desktop GUI 能满足需求。
    5) 商业 Unix/Linux 付不起那个钱...

    欢迎安利并说明理由
    15 条回复    2024-07-13 06:06:05 +08:00
    guisheng
        1
    guisheng  
       168 天前 via iPhone
    前提:可能说的不对
    回复:为什么不直接使用 Calibre 的 Mac 版本,通过 SMB 或者 WebDav 来进行磁盘挂载使用。数据和客户端分离。
    adrianzhang
        2
    adrianzhang  
    OP
       168 天前
    @guisheng 谢谢回复,需要补充说明一下:
    这个是备份服务器,从主服务器定期备份电子书文件,主服务器上使用 Calibre-server 将 Calibre 库以 web 提供给各个设备(多个手机、电子书硬件),在这个备份服务器上将电子书导入到 Calibre 库,并将库与主服务器同步。
    以前试图使用 Win 或 Mac 管理库,但是这个库非常庞大,而 Calibre-web 在运行状态下最好别用客户端更改库内容,所以如果客户端管理的话,需要停服务。而这是个非定期任务。上述目前的结构,是自动化的。
    adrianzhang
        3
    adrianzhang  
    OP
       168 天前
    @guisheng 有个错误。
    主要原因是主服务器用 Calibre-server CLI ,将库用 web 提供出来。这是硬需求,要给静读天下或 Calibre Compose 客户端服务,不能用 Calibre-web 。
    由于使用了 Calibre-server CLI ,不能在运行时使用 Mac 客户端对库做变更。(可以导入,但不能用客户端对库内电子书编辑 Metadata )。这是 Calibre 的问题。
    如果要用客户端管理,必须停止 Calibre-web CLI 服务。那么当我想编辑书籍 Metadata 的时候,就需要手工去停止它。
    所以采用在备份服务器上同步电子书,在备份服务器上编辑库,定期同步库就好了(脚本实现同步的时候先停止 Calibre-server ,同步完成再启动)。这是自动化流程。
    adrianzhang
        4
    adrianzhang  
    OP
       168 天前
    @guisheng 简直了,不能编辑回复让我快抓狂了。。。。。上述还有错误,
    由于使用了 Calibre-server CLI ,不能在运行时使用 Mac 客户端对库做变更。(可以导入,但不能用客户端对库内电子书编辑 Metadata )。这是 Calibre 的问题。--> Calibre-server CLI 自己可以导入电子书,但不能在它运行时使用 Mac 客户端对库做变动。
    如果要用客户端管理,必须停止 Calibre-web CLI 服务。那么当我想编辑书籍 Metadata 的时候,就需要手工去停止它。--> 如果要用客户端管理,必须停止 Calibre-server CLI 服务。那么当我想编辑书籍 Metadata 的时候,就需要手工去停止它。
    snipking
        5
    snipking  
       168 天前   ❤️ 1
    所以无论是在本地或者远程运行 Calibre 客户端,始终编辑的都是备份服务器上的书库,备份服务器定期同步至主服务器,似乎并没问题?
    adrianzhang
        6
    adrianzhang  
    OP
       168 天前
    @snipking !聪明!我怎么没想到?多谢!!
    adrianzhang
        7
    adrianzhang  
    OP
       168 天前
    @snipking 哦,不!我以前这么干过。被一个问题卡住了:编辑书库的一个操作,需要好几天,(一次导入过上万本书,几乎需要一天,然后用插件编辑 Metadata 又运行好几天)。Mac 得一直开着,而 Mac 设置着自动休眠(省电/不用时安静)。但是你这么一提醒,我倒要考虑考虑更换 GUI server 可能比开着 Mac 更复杂。
    guisheng
        8
    guisheng  
       168 天前 via iPhone   ❤️ 1
    理解下你的意思是说 备服务器负责写,主服务器负责读吗
    主服务器是不需要也是不能调整的因为流程已经固化了。然后通过备服务器来进行更新和导入,然后定时同步到主服务器。

    目前的问题是需要调整备服务器的架构,因为 Ubuntu Desktop 不太稳定。

    远程桌面,可视化,稳定 不知道 windows server 是否能够解决你的问题。

    目前我在使用 Windows server 最为服务器 通过 hyper-v 安装 Debian 作为 docker 使用 内存占用率非常低并且长期待机无任何异常,不会自动更并重启。并且远程桌面体验也很好
    adrianzhang
        9
    adrianzhang  
    OP
       168 天前
    @guisheng #8 差不多可以类比你说的备写主读。主服务器在线提供服务,要在线就不能用别的客户端对库做修改,库只能给在线服务进程控制,而这个在线服务进程 calibre-server ,没有使用插件批量编辑库内书籍的方法。为了解耦在线服务和离线编辑(经常是持续几天的编辑),采用了前面回复的那么复杂的操作。
    Windows Server 也是挺好的建议,我知道它可以运行 docker ,同步服务也能行,唯一的问题就是,存储采用的是 ZFS ,而且是 Linux 的 OpenZFS 实现,不知道 Windows 对它的支持怎么样,我去查查资料。多谢!
    emberzhang
        10
    emberzhang  
       168 天前   ❤️ 1
    @guisheng 只要书库文件名想用中文( https://github.com/Cirn09/calibre-do-not-translate-my-path ), 那 windows 就根本没法用, 包括豆瓣在内的 calibre 元数据插件, 下载的书名包含大量 windows 不支持的字符( 最常见的就是半角冒号: )
    adrianzhang
        11
    adrianzhang  
    OP
       168 天前
    @emberzhang 提醒得好!如果不用中文名,太长的名字 Win 估计也处理不好。
    emberzhang
        12
    emberzhang  
       168 天前   ❤️ 1
    话说直接用 vnc 的 calibre 不行吗? https://hub.docker.com/r/linuxserver/calibre
    网页或者 jump desktop 访问就可以吧
    adrianzhang
        13
    adrianzhang  
    OP
       168 天前
    @emberzhang #12 啊对呀!可以做成 docker image !就这么定了!多谢!
    nuk
        14
    nuk  
       168 天前
    为啥不用虚拟机,而且更新可以关掉的吧,只用这么一个软件的话完全可以不更新系统的。
    adrianzhang
        15
    adrianzhang  
    OP
       167 天前
    @nuk 因为要处理大量的数据,用虚拟机将会有 IO 问题,容器没有。有些对 Metadata 的处理需要 Calibre 插件,就会面对 Calibre 版本问题,间接引起系统某些更新。不过我没试过是否可以完全关闭 Desktop 更新。综合考虑,容器思路应该是最优解了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1548 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:55 · PVG 00:55 · LAX 08:55 · JFK 11:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.