温馨提示×

如何升级CentOS上的TigerVNC版本

小樊
61
2025-12-13 13:31:06
栏目: 智能运维

升级前准备

  • 明确系统与版本:执行以下命令确认系统代号与现有组件版本
    • 查看系统版本:cat /etc/centos-release
    • 查看已装组件:rpm -qa | grep tigervnc
  • 备份与变更窗口:备份用户目录下的 ~/.vnc 配置与密码文件,选择业务低峰期操作。
  • 升级策略选择:
    • 优先使用系统仓库的较新版本:sudo yum update -y tigervnc-server
    • 若仓库版本过旧或存在漏洞,采用官方 RPM 离线升级或源码编译安装(见下文)。

方法一 使用YUM仓库升级

  • 适用于希望保留包管理、便于回滚的场景。
    1. 更新索引与系统:sudo yum update -y
    2. 升级 TigerVNC:sudo yum update -y tigervnc-server
    3. 若通过 systemd 管理实例,重载并重启:
      • sudo systemctl daemon-reload
      • sudo systemctl restart vncserver@:1.service(按需替换为你的实例号)
    4. 验证版本:vncserver -list 或连接测试(默认桌面 :1 对应端口 5901)。

方法二 使用官方RPM离线升级

  • 适用于 CentOS 7 等仓库版本较旧、需要新特性的场景。
    1. 下载对应系统的 RPM 包(示例为 1.13.1/el7/x86_64):
      • tigervnc-1.13.1-1.el7.x86_64.rpm
      • tigervnc-server-1.13.1-1.el7.x86_64.rpm
      • tigervnc-server-minimal-1.13.1-1.el7.x86_64.rpm
      • tigervnc-selinux-1.13.1-1.el7.noarch.rpm
      • tigervnc-license-1.13.1-1.el7.noarch.rpm
    2. 建议按依赖顺序安装(最小化依赖在前):
      • sudo yum install -y tigervnc-server-minimal-1.13.1-1.el7.x86_64.rpm
      • sudo yum install -y tigervnc-selinux-1.13.1-1.el7.noarch.rpm
      • sudo yum install -y tigervnc-license-1.13.1-1.el7.noarch.rpm
      • sudo yum install -y tigervnc-server-1.13.1-1.el7.x86_64.rpm
      • sudo yum install -y tigervnc-1.13.1-1.el7.x86_64.rpm
    3. 重载 systemd 并重启实例:
      • sudo systemctl daemon-reload
      • sudo systemctl restart vncserver@:1.service
    4. 验证:vncserver -list 或连接 IP:5901 测试。

方法三 从源码编译安装

  • 适用于需要最新特性或定制编译参数的场景。
    1. 安装依赖(示例):sudo yum groupinstall -y "Development Tools" 及必要图形库(如 libX11、libXext、libjpeg-turbo 等)。
    2. 获取源码并编译(以 1.18.0 为例):
      • wget https://github.com/tigervnc/tigervnc/releases/download/v1.18.0/tigervnc-1.18.0.tar.gz
      • tar xvf tigervnc-1.18.0.tar.gz && cd tigervnc-1.18.0
      • ./configure && make && sudo make install
    3. 确认可执行文件在 PATH:which vncserver 或按需调整 PATH。
    4. 启动与验证:vncserver :1,并用客户端连接 IP:5901

升级后的验证与常见问题

  • 版本与进程验证
    • 列出实例:vncserver -list
    • 查看监听端口:ss -lntp | grep 590netstat -lnpt | grep Xvnc(桌面 :N 对应端口 5900+N
  • 防火墙与连通性
    • 放行端口(示例):sudo firewall-cmd --permanent --add-port=5901/tcp && sudo firewall-cmd --reload
    • 客户端连接:使用 IP:1(等价于 IP:5901
  • 服务管理
    • 重启实例:sudo systemctl restart vncserver@:1.service
    • 停止实例:vncserver -kill :1(需由启动该实例的用户执行)
  • 常见问题速查
    • 无法连接:检查实例是否运行、端口是否放行、以及客户端是否使用 IP:桌面号 形式。
    • 灰屏/黑屏:检查用户的 ~/.vnc/xstartup 配置与桌面环境是否正确安装与启用。

0