uVersion
简体中文
下载 →

Wiki

在 Ubuntu / Debian 上安装

带 debconf 的 .deb 软件包:激活码、PostgreSQL、systemd 服务、自签名 TLS。

Ubuntu 24.04+、Debian 13+(x86_64)。3 个步骤。

安装

  1. 下载软件包

    cd /tmp && wget -N https://uversion.io/downloads/server/uversion-server_latest_amd64.deb

    _latest_ URL 始终指向最新发布的版本。 -N 标志告诉 wget 仅在远程文件更新时才重新下载: 便于更新而不堆积 .deb.1.deb.2 等副本。 当 .deb 位于您的主目录时,cd /tmp 可避免一个 无关紧要的 apt 警告("unsandboxed as root")。

  2. 安装

    sudo apt install ./uversion-server_latest_amd64.deb

    安装程序会提示您输入:

    字段默认值必填
    激活码·
    数据目录/var/lib/uversion可修改

    postinst 会联系 licence.uversion.io,用激活码换取您的完整许可证密钥 并写入 /etc/uversion/config.toml。 自签名 TLS 证书在首次启动时生成,其 SHA-256 指纹会在安装结束时显示。 参见 TLS 指纹

  3. 完成。 初始管理员码会在安装结束时显示在一个彩色框中。 如果错过了:

    sudo cat /var/lib/uversion/initial-admin-password
安装结束时显示的摘要:管理员用户名、临时密码和服务器地址。

随后您可以继续首次登录

验证安装

systemctl status uversion-server              # active (running)
ss -tlnp | grep 8443                          # le service ecoute en HTTPS sur 8443
sudo cat /var/lib/uversion/data/tls/fingerprint  # empreinte TLS (a re-afficher)
sudo journalctl -u uversion-server -n 50      # logs recents

卸载

警告: 以下命令会删除您的仓库、历史记录、用户账户和配置。 如果您希望能够恢复,请做一份 PostgreSQL 备份(pg_dump uversion) 并复制 /var/lib/uversion/

apt purge 会删除二进制文件、systemd 单元、debconf 应答,以及 (通过 postrm 脚本)/etc/uversion/ 和系统用户 uversion。只有 PostgreSQL 数据库和数据目录 /var/lib/uversion/ (由 postinst 脚本创建)被有意保留,需要手动清理。

完整流程:

# 1. Arrêter le service
sudo systemctl stop uversion-server 2>/dev/null
sudo systemctl disable uversion-server 2>/dev/null

# 2. Purge du paquet
sudo apt purge -y uversion-server

# 3. Forcer debconf à oublier les réponses du paquet
echo PURGE | sudo debconf-communicate uversion-server 2>/dev/null || true

# 4. Base PostgreSQL + role
sudo -u postgres psql -c "DROP DATABASE IF EXISTS uversion;"
sudo -u postgres psql -c "DROP ROLE IF EXISTS uversion;"

# 5. Data dir (chunks + initial-admin-password)
sudo rm -rf /var/lib/uversion

# 6. User système (normalement déjà retiré par 'apt purge' via postrm ; sans effet si absent)
sudo deluser --remove-home uversion 2>/dev/null || sudo userdel uversion 2>/dev/null

验证:

systemctl status uversion-server                                # "not-found" ou "inactive"
ls /etc/uversion /var/lib/uversion 2>&1                         # "No such file"
which uversion-server                                           # (vide)
sudo -u postgres psql -tAc "SELECT 1 FROM pg_database WHERE datname='uversion';"   # (vide)
sudo -u postgres psql -tAc "SELECT 1 FROM pg_roles WHERE rolname='uversion';"      # (vide)
id uversion                                                     # "no such user"