前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS7 安装 Trilium Notes 中文版 折腾记

CentOS7 安装 Trilium Notes 中文版 折腾记

作者头像
独立观察员
发布2023-12-26 11:22:12
3940
发布2023-12-26 11:22:12
举报

CentOS7 安装 Trilium Notes 中文版 折腾记

独立观察员 2023 年 12 月 24 日

一、资源地址

仓库:https://github.com/Nriver/trilium-translation

文档:https://github.com/Nriver/trilium-translation/blob/main/README_CN.md

Trilium 原版:https://github.com/zadam/trilium

二、尝试使用 Release 包(失败)

2.1、下载和运行

使用方法:

使用方法 – Windows, Linux, MacOS 直接使用 Release 打包的文件

  1. Release 里下载对应客户端
  2. 解压运行 (Linux 桌面运行 trilium, Linux 服务端运行 trilium.sh, Windows 运行 trilium.exe, macOS 运行 trilium.app).
  3. 玩去吧 🙂

注 1: Trilium 的服务端可以直接通过浏览器访问单独使用。同时也可以作为同步服务器和桌面客户端进行数据同步。 注 2: Trilium 更新需要同时更新服务端与客户端,版本必须一致。更新前以防万一请备份好数据.

wget https://github.com/Nriver/trilium-translation/releases/download/v0.62.4_20231222/trilium-cn-linux-x64-server.zip

下载并解压后,执行 trilium.sh:

2.2、GLIBC 缺失

可以看到出错了,没有相关的 GLIBC。问问 ChatGPT。

You:CentOS7 运行 Node 程序报错:version `GLIBC_2.27′ not found (required by ./node/bin/node) ChatGPT: 这个错误表明你的系统缺少 GLIBC(GNU C Library)的版本 2.27。Node.js 二进制文件(./node/bin/node)可能是在需要 GLIBC 2.27 的系统上编译的。 在 CentOS 7 上,GLIBC 版本通常不会更新到 2.27,因为它是较旧的发行版。解决这个问题的方法有几种:

  1. 升级系统: 尽可能升级到较新的发行版,如 CentOS 8。这将提供较新版本的 GLIBC。请注意,升级系统可能会涉及到更改和配置的调整,因此请确保在进行升级之前备份重要数据。
  2. 使用 Node 源代码编译: 从 Node.js 的源代码构建 Node.js 可能是一个解决方案。这将确保 Node.js 编译时使用的 GLIBC 版本与你的系统兼容。以下是大致的步骤: a. 下载并解压 Node.js 源代码: b. 配置和编译: c. 安装: sudo make install
    1. ./configure
    2. make
    3. wget https://nodejs.org/dist/v{your_version}/node-v{your_version}.tar.gz
    4. tar –xvf node–v{your_version}.tar.gz
    5. cd node–v{your_version}
  3. 使用 Node 版本管理工具: 使用 Node 版本管理工具(如 nvm 或 n)安装特定版本的 Node.js,这将自动处理与系统 GLIBC 版本的兼容性。例如,使用 nvm:
    1. nvm install {desired_version}
    2. nvm use {desired_version}

    请注意,选项 1 和 2 都需要谨慎操作,并在执行之前备份重要数据,以防发生意外情况。

2.3、安装 nvm

这里我们选择第 3 种方法,需要先安装 nvm,再问问:

You:如何安装 nvm 呢? ChatGPT: 您可以使用以下步骤在 CentOS 7 上安装 nvm(Node Version Manager):

  1. 安装 Git: sudo yum install git
  2. 使用 curl 安装 nvm: curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash 这将下载并运行 nvm 安装脚本。请注意,这里使用的是 v0.39.1 版本的 nvm,您可以根据需要选择最新版本。
  3. 重启终端或运行以下命令以使 nvm 生效: source ~/.bashrc 如果您使用的是 Zsh,可以运行: source ~/.zshrc
  4. 安装 Node.js: 通过 nvm 安装 Node.js。以下是一个示例: nvm install node 这将安装最新版本的 Node.js。如果您需要安装特定版本,可以使用: nvm install 14.17.0
  5. 选择 Node.js 版本: 安装完成后,您可能需要选择您安装的 Node.js 版本。例如: nvm use node 或者: nvm use 14.17.0 这将设置当前终端会话使用指定的 Node.js 版本。如果您希望永久设置默认版本,可以运行: nvm alias default node 或者: nvm alias default 14.17.0

现在,您已经成功安装了 nvm 并使用它安装了 Node.js。您可以使用 node -vnpm -v 命令来验证安装是否成功。

安装 nvm:

2.4、安装 Node

安装 node:

再次尝试执行 trilium.sh,还是老样子:

再问问:

You:安了 node v21.5 还是报 `GLIBC_2.27′ not found ChatGPT: 如果您安装了 Node.js v21.5 仍然遇到 “GLIBC_2.27 not found” 的问题,这可能是因为您的系统 GLIBC 版本仍然不满足 Node.js 的要求。在这种情况下,可以考虑以下几个解决方案:

  1. 尝试更旧的 Node.js 版本: 尝试安装一个较旧版本的 Node.js,该版本可能与您的系统 GLIBC 版本兼容。您可以使用 nvm 安装特定版本: nvm install 14.17.0 或者选择已安装的某个版本: nvm use 14.17.0 请注意,14.17.0 只是一个示例版本,您可以尝试其他较旧的版本。
  2. 升级操作系统: 考虑升级您的操作系统到一个更新的版本,如 CentOS 8。这将提供较新版本的 GLIBC,从而与 Node.js v21.5 兼容。
  3. 从源代码构建 Node.js: 下载 Node.js 源代码并从源代码编译可能是一个解决方案。这样可以确保 Node.js 使用的 GLIBC 版本与您的系统兼容。以下是大致的步骤: 请注意,版本号可能需要根据您下载的实际版本进行调整。
    1. wget https://nodejs.org/dist/v21.5.0/node-v21.5.0.tar.gz
    2. tar –xvf node–v21.5.0.tar.gz
    3. cd node–v21.5.0
    4. ./configure
    5. make
    6. sudo make install

    无论您选择哪种方法,请确保在进行更改之前备份您的数据,并理解潜在的风险。

版本关系:

You:GLIBC_2.27、2.25、2.28 大概对应哪个版本的 Node? ChatGPT: 通常来说,Node.js 的不同版本可能与不同的 GLIBC 版本兼容。以下是一些大致的匹配关系:

  • GLIBC 2.25: 通常与 Node.js 8.x 和 9.x 版本兼容。
  • GLIBC 2.27: 通常与 Node.js 10.x 和 11.x 版本兼容。
  • GLIBC 2.28: 通常与 Node.js 12.x 版本兼容。

这只是一个概括,并不是绝对的规则。Node.js 团队可能会在发布新版本时调整兼容性,而且一般来说,新版本的 Node.js 会尽可能地支持较新的 GLIBC 版本。因此,如果您遇到 GLIBC 版本问题,考虑使用较新版本的 Node.js 或者更新您的操作系统,以匹配 Node.js 最新的系统要求。

安装一个 v12.0 版本试试:

还是老样子:

2.5、其它尝试

是否是内置的原因:

You:如何给程序内置的 node 安装 GLIBC? ChatGPT: 将 GLIBC(GNU C Library)内置到程序中是一个相当复杂的任务,通常不太推荐,因为 GLIBC 是操作系统的基本组件,其正确性和稳定性取决于宿主操作系统。GLIBC 需要与系统其他部分相互配合,并且内置 GLIBC 可能会导致不可预知的问题。 通常情况下,更好的方法是通过以下几种方式之一解决 GLIBC 依赖性问题:

  1. 使用 Docker 或其他容器技术: 创建一个包含所需 GLIBC 版本的容器,然后在容器中运行您的 Node.js 程序。这样,您可以确保程序在一个独立的环境中运行,并且不受主机系统的影响。
  2. 升级操作系统: 如果可能的话,考虑将您的操作系统升级到支持所需 GLIBC 版本的版本。这可能涉及到一些工作,但可以提供更长期的解决方案。
  3. 从源代码编译 Node.js: 如果您确信您的程序需要与特定版本的 GLIBC 兼容,您可以从 Node.js 源代码编译 Node.js。这样,您可以确保 Node.js 与您的系统 GLIBC 版本兼容。具体步骤在之前的回答中已经提到。

请注意,内置 GLIBC 可能引入一系列问题,包括性能、稳定性和安全性方面的问题。因此,在进行此类操作之前,请确保了解潜在的风险,并在可能的情况下选择更为标准和可维护的解决方案。

换一种服务端安装方式:

服务端 – Linux – 通过 AUR 安装 Linux 服务端 安装:yay -S trilium-server-cn 直接运行 (可以使用 pm2 等应用管理来启动):trilium-server-cn 同时提供了一个 trilium-server-cn 的服务,也可以通过 systemctl 来管理:systemctl start trilium-server-cn

ChatGPT:

如果你是在 Arch Linux 或基于 Arch Linux 的发行版中(如 Manjaro)使用 AUR(Arch User Repository),你可以尝试通过 AUR 中提供的 Node.js 包来解决 GLIBC 版本的问题。在 AUR 中,通常有提供了使用了不同编译选项的 Node.js 包,其中一些可能与较旧的 GLIBC 版本兼容。 以下是一些在 AUR 中搜索并安装 Node.js 的方法:

  1. 使用 AUR 辅助工具: Arch Linux 系统通常有一些 AUR 辅助工具,例如 yaytrizen。你可以使用这些工具搜索和安装 AUR 中的软件包。示例: # 使用 yay yay -S nodejs-lts-erbium 或者 # 使用 trizen trizen -S nodejs-lts-erbium 这里 nodejs-lts-erbium 是一个示例,你可以根据需要选择其他 Node.js 版本。
  2. 手动下载 PKGBUILD 文件: 在 AUR 中,每个软件包都有一个 PKGBUILD 文件,描述了软件包的构建过程。你可以手动下载 Node.js 的 PKGBUILD 文件并根据需要修改构建选项。然后使用 makepkg 构建和安装软件包。示例:
    1. # 下载 PKGBUILD 文件
    2. curl –O https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=nodejs-lts-erbium
    3. # 使用 makepkg 构建和安装软件包
    4. makepkg –si

    请注意,这些示例可能需要根据实际情况进行调整。使用 AUR 时,请确保理解所安装软件包的来源,以确保安全性。

看来只能支持 Arch Linux,放弃。

开始尝试安装原版:

https://github.com/zadam/trilium/wiki/Packaged-server-installation

下载

https://github.com/zadam/trilium/releases/download/v0.62.4/trilium-linux-x64-server-0.62.4.tar.xz

使用 tar -xf 进行解压:

移动文件夹:

执行,还是老样子:

三、使用 Docker 版

3.1、下载 docker-compose 配置文件

换中文版的 Docker 方式。

除了直接下载 Github 的 Release 文件,还可以通过以下方式安装服务端 🐳 服务端 – Linux – 在 Docker 里运行服务端 Trilium Notes 的服务端可以用我构建好的 docker 镜像运行。注意!请不要使用加速镜像,可以避免类似 #16, #14 下到旧版导致无法启动的问题. 如果无法拉取 docker 镜像,可以参考 docker 官方文档 对 http-proxy.conf 设置代理。 直接下载 docker-compose.yml. 下载 docker-compose 配置文件 wget https://raw.githubusercontent.com/Nriver/trilium-translation/main/docker-compose.yml 运行:docker-compose up -d 它会从 Docker Hub 直接拉镜像运行. 浏览器打开 http://127.0.0.1:8080 访问服务端. 笔记数据会在 docker-compose.yml 同目录下 (docker 镜像存了一个 0.47.5 的旧版本备份,需要的可以自己拿) 🔝 Docker 服务端版本更新 cd 到 docker-compose.yml 所在目录 先停止 trilium:docker-compose down 拉取最新镜像:docker-compose pull 运行:docker-compose up -d

下载 docker 文件:

目前运行不了,需要安装 docker:

3.2、安装 docker-compose

You:docker-compose: command not found ChatGPT: 如果在使用 docker-compose 命令时出现 “command not found” 错误,可能是因为 Docker Compose 没有安装或者没有正确配置环境变量。以下是一些解决方法: 1. 安装 Docker Compose: 确保你已经安装了 Docker Compose。你可以通过以下步骤安装: Linux:

  1. sudo curl –L “https://github.com/docker/compose/releases/latest/download/docker-compose-(uname -s)-(uname -m)” –o /usr/local/bin/docker–compose
  2. sudo chmod x /usr/local/bin/docker–compose

macOS: brew install docker-compose Windows: 在 Windows 上,Docker Desktop 包含 Docker Compose。你可以从 Docker Desktop 安装程序中选择安装。 2. 添加执行权限: 确保 docker-compose 文件有执行权限。如果使用 Linux 或 macOS,请运行以下命令: sudo chmod x /usr/local/bin/docker-compose 3. 确保 docker-compose 在 PATH 中: 确保 docker-compose 所在的目录在系统的 PATH 环境变量中。你可以通过编辑 shell 配置文件(如 ~/.bashrc~/.zshrc)来添加: export PATH=$PATH:/usr/local/bin 然后运行 source ~/.bashrcsource ~/.zshrc,以使更改生效。 4. 检查安装: 运行以下命令检查 Docker Compose 是否安装成功: docker-compose --version 如果一切设置正确,应该显示 Docker Compose 的版本信息。 如果问题仍然存在,请确保按照官方文档或相应平台的安装说明来安装 Docker Compose。

实践:

3.3、安装 docker

再次运行 docker-compose up -d

询问 ChatGPT:

You:Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? ChatGPT 这个错误通常表示 Docker 客户端不能连接到 Docker 守护进程。有几种可能的原因和解决方法: 1. 用户权限问题: 确保你当前的用户有权限访问 Docker。默认情况下,Docker 守护进程的 Unix 套接字文件位于 /var/run/docker.sock,而这个文件通常是具有 docker 组成员资格的用户才能访问的。 你可以将当前用户添加到 docker 组,然后注销并重新登录,或者执行以下命令: sudo usermod -aG docker $USER 注意:在一些系统中,你可能需要重新启动计算机才能使组成员资格生效。 2. Docker 服务是否运行: 确保 Docker 服务正在运行。你可以使用以下命令来检查 Docker 服务状态: sudo systemctl status docker 如果服务未运行,你可以使用以下命令启动它: sudo systemctl start docker 3. Docker 守护进程没有正确配置: 在某些情况下,Docker 守护进程可能没有正确配置。你可以检查 /etc/docker/daemon.json 文件以查看配置。确保文件中没有语法错误,并且重要配置正确。 4. Docker 守护进程崩溃: 有时 Docker 守护进程可能会崩溃。你可以通过重新启动 Docker 服务来尝试解决: sudo systemctl restart docker 5. 检查 Docker 守护进程日志: 你可以查看 Docker 守护进程的日志以获取更多详细信息: sudo journalctl -xe | grep docker 6. 文件系统空间不足: 确保文件系统上有足够的空间。如果文件系统空间不足,Docker 守护进程可能无法启动。 7. Docker 命令需要 sudo 在某些系统上,Docker 命令可能需要使用 sudo 才能执行。如果你尝试在没有 sudo 的情况下运行 Docker 命令,请尝试添加 sudo 并重新运行。 如果上述方法仍未解决问题,可能需要更详细的检查 Docker 守护进程的状态和日志来找到问题的根本原因。

应该是还没安装 docker:

ChatGPT:

如果你在尝试查看 Docker 服务状态时遇到 “Unit docker.service could not be found.” 错误,可能是因为 Docker 守护进程的 systemd 服务单元(service unit)未正确安装或未在系统中注册。 以下是一些可能的原因和解决方法: 1. Docker 未正确安装: 确保 Docker 已正确安装。你可以按照 Docker 官方文档提供的步骤进行安装。

  • 在 Ubuntu 上安装 Docker:Get Docker for Ubuntu
  • 在 CentOS 上安装 Docker:Get Docker for CentOS

2. Docker 服务未启用: 如果 Docker 服务未在 systemd 中注册,你需要启用它。使用以下命令启用并启动 Docker 服务:

  1. sudo systemctl enable docker
  2. sudo systemctl start docker

3. 使用旧版本的 Docker: 在较新的 Docker 版本中,服务可能被命名为 dockerd 而不是 docker。尝试使用以下命令检查服务状态: sudo systemctl status dockerd 如果 dockerd 存在,你应该能够看到服务的状态信息。 4. 查找 Docker 服务文件: 确保 /lib/systemd/system/docker.service/etc/systemd/system/docker.service 文件存在。这是 Docker 服务的 systemd 单元文件。 5. 重新安装 Docker: 如果上述步骤无效,尝试重新安装 Docker。 在 Ubuntu 上:

  1. sudo apt–get remove docker docker–engine docker.io containerd runc
  2. sudo apt–get update
  3. sudo apt–get install docker.io

在 CentOS 上:

  1. sudo yum remove docker docker–client docker–client–latest docker–common docker–latest docker–latest–logrotate docker–logrotate docker–engine
  2. sudo yum install docker

请注意,具体的命令可能根据你的 Linux 发行版而有所不同。 6. 使用 snap 安装 Docker: 在一些 Linux 发行版上,你可以使用 snap 安装 Docker。在这种情况下,Docker 服务的 systemd 单元文件可能位于 /var/lib/snapd/snap/docker/xxxx/lib/systemd/system/docker.service。你可以检查该路径。 ls /var/lib/snapd/snap/docker/xxxx/lib/systemd/system/docker.service 替换 xxxx 为实际的版本号。 通过检查上述步骤,你应该能够解决 “Unit docker.service could not be found.” 的问题。如果问题仍然存在,可能需要更详细的系统信息来进一步诊断。

在 CentOS7 上如何安装 Docker

ChatGPT 在 CentOS 7 上,可以按照以下步骤安装 Docker: 1. 卸载旧版本 如果你之前已经安装过旧版本的 Docker,请先卸载: sudo yum remove docker docker-common docker-selinux docker-engine 2. 安装依赖 确保系统上已经安装了必要的依赖: sudo yum install -y yum-utils device-mapper-persistent-data lvm2 3. 添加 Docker YUM 源 sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 4. 安装 Docker Engine sudo yum install docker-ce docker-ce-cli containerd.io 5. 启动 Docker 服务 sudo systemctl start docker 6. 设置 Docker 开机启动 sudo systemctl enable docker 7. 验证安装 运行以下命令来验证 Docker 是否正确安装: docker --version 你应该能够看到 Docker 版本信息。然后可以运行一个简单的测试: sudo docker run hello-world 如果一切正常,你将看到一条消息,说明 Docker 已成功安装并正在运行。 以上步骤应该足以在 CentOS 7 上安装 Docker。请注意,具体的命令和步骤可能会有所变化,具体取决于你的系统和 Docker 的版本。在安装之前,请查看 Docker 官方文档以获取最新的安装说明。

按照步骤成功安装了 Docker:

四、拉取镜像和使用浏览器访问

再次运行 docker-compose up -d ,可以成功执行了:

然后浏览器上就可以访问了(8080 端口):

选择第一项(新用户),下一步:

设置密码:

登录:

主页面:

新建一篇笔记:

五、说明

1、这样操作后(使用 Docker 版本),重启服务器,笔记服务也能自启,还是挺方便的。

2、数据在 yml 同级目录下:

原创文章,转载请注明: 转载自 独立观察员 (dlgcy.com)

本文链接地址: [CentOS7 安装 Trilium Notes 中文版 折腾记](https://dlgcy.com/centos7-trilium-cn/)

Windows

Windows 游戏录屏软件简评

移除 Win11 的文件夹标签功能

Win11 桌面快捷方式未全部显示的诡异现象及解决方法

Windows 中支持 DLNA 媒体库的视频播放器推荐

Windows 11 及其安卓子系统折腾记

IIS 错误解决:当前标识没有对 Temporary ASP.NET Files 的写访问权限

Windows 端最稳定的 DLNA音乐播放器推荐

Windows可登陆的本地账户忘记密码的解决方法

Linux

在 VisualStudio 中以 WSL 方式启动程序的过程纪实

在 CentOS 上搭建 MinIO 对象存储服务并配置 HTTPS

在树莓派系统中安装和使用远程桌面软件 TightVNC

在香蕉派的树莓派系统上配置 Syncthing 自启动(暨 Linux 软件自启服务配置)

网络

通过 “来此加密” 申请和使用 SSL 证书

移动联通电信手机卡网速浅测

在 Linux(树莓派)系统的 Chromium 浏览器上连接代理网络

台式机插 4G上网卡后供给其它设备内外网

搭建 Frp 来远程内网 Windows 和 Linux 机子

使用 ngrok 从外网连接内网的远程桌面

『网络安全』使用 PGP 实现电子邮件安全

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-12-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 独立观察员博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • CentOS7 安装 Trilium Notes 中文版 折腾记
    • 一、资源地址
      • 二、尝试使用 Release 包(失败)
        • 2.1、下载和运行
        • 2.2、GLIBC 缺失
        • 2.3、安装 nvm
        • 2.4、安装 Node
        • 2.5、其它尝试
      • 三、使用 Docker 版
        • 3.1、下载 docker-compose 配置文件
        • 3.2、安装 docker-compose
        • 3.3、安装 docker
      • 四、拉取镜像和使用浏览器访问
        • 五、说明
          • Windows
          • Linux
          • 网络
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档