linux服务器(X86)离线安装RDP

一个项目没有图形化界面,需要通过跳板机来访问其它的服务,只能自己在跳板机上安装RDP进行远程访问。

安装XRDP包

下载地址 Index of /pub/archive/epel/7/x86_64/Packages

进行安装

rpm   -ivh  epel-release-7-14.noarch.rpm  --force --nodeps

rpm   -ivh  xrdp-0.9.25-2.el7.x86_64.rpm  --force --nodeps

启动、并查看状态

systemctl start xrdp.service

systemctl status xrdp.service

报错内容: libssl.so.10: cannot open shared object file: No such file or directory

问题确认

ll /usr/lib64/libssl.so*

ll /usr/lib64/libcrypto.so*

确实没有 libssl.so.10和libcrypto.so.10

解决方法:通过下载编译openssl来生成libssl.so.1.0.0和libcrypto.so.1.0.0,再生成libssl.so.10和libcrypto.so.10进行软连接,下载地址

https://www.openssl.org/source/old/1.0.1/openssl-1.0.1e.tar.gz

解压 tar -xzf openssl-1.0.1e.tar.gz

进入目录编译

cd /tmp/openssl-1.0.1e

./config shared zlib-dynamic

make

可以看到编译后的结果

提取libssl和libcrypto

提取openssl-1.0.1e文件夹中的libssl.so.1.0.0和libcrypto.so.1.0.0 到文件夹 /usr/lib64/中

cp libssl.so.1.0.0 /usr/lib64/

cp libcrypto.so.1.0.0 /usr/lib64/

生成软链接

cd /usr/lib64/

ln -s libssl.so.1.0.0 libssl.so.10

ln -s libcrypto.so.1.0.0 libcrypto.so.10

重启之后发现错误发生了变化

systemctl restart xrdp.service

systemctl status xrdp.service

这个错误表明系统试图运行xrdp程序时,无法找到名为libImlib2.so.1的共享库。libImlib2.so.1是一个用于图像处理的库,通常由Imlib2图像处理库提供。

https://rpmfind.net/linux/rpm2html/search.php?query=libImlib2.so.1()(64bit)

下载适合自己的安装包

安装

rpm   -ivh imlib2-1.3.0-6.el3.at.x86_64.rpm  --force –nodeps

重启之后正常运行

本地远程连接,连接失败

查看服务器防火墙,端口开放情况,

防火墙是开启的

防火墙添加XRDP端口,Xrdp使用的端口是3389

添加端口

firewall-cmd --zone=public --add-port=3389/tcp –permanent

重启防火墙

firewall-cmd –reload

查看,3389已经开通

firewall-cmd --list-ports --permanent

再次进行连接,已经可以连接了

填写服务器账号、密码

成功连接到Linux服务器的桌面

<think>我们已知TensorFlow 2.18.0需要特定版本的CUDA和cuDNN。根据官方文档和常见的兼容性表,TensorFlow 2.18.0通常需要CUDA 12.4和cuDNN 8.9.5(或兼容版本)。但是,由于用户引用中提到了cuda12.4,并且安装的依赖都是cu12(即CUDA 12),因此我们确定使用CUDA 12.4。 步骤: 1. 确认TensorFlow 2.18.0所需的CUDA和cuDNN版本。 2. 下载对应版本的CUDA和cuDNN安装包(离线安装包)。 3. 将安装包传输到离线Linux服务器。 4. 在服务器安装CUDA。 5. 在服务器安装cuDNN。 6. 配置环境变量。 7. 验证安装。 详细步骤: 1. 确认版本: 根据[TensorFlow官方测试配置](https://www.tensorflow.org/install/source#gpu),TensorFlow 2.18.0要求CUDA 12.4和cuDNN 8.9.5(或更高兼容版本)。但注意,用户引用中显示自动安装的依赖是cuda12.4,因此我们选择CUDA 12.4和cuDNN 8.9.5。 2. 下载离线安装包: - CUDA 12.4: 前往NVIDIA官网的CUDA Toolkit下载页面(https://developer.nvidia.com/cuda-toolkit-archive),选择CUDA Toolkit 12.4.0,然后选择操作系统(Linux)、架构(如x86_64)、发行版(如Ubuntu或CentOS)和版本,最后选择“runfile (local)”格式进行下载。例如,对于Ubuntu 22.04,下载文件名为`cuda_12.4.0_550.54.15_linux.run`。 - cuDNN 8.9.5: 前往NVIDIA cuDNN下载页面(https://developer.nvidia.com/rdp/cudnn-archive),需要注册账号。选择“Download cuDNN v8.9.5 (November 16th, 2023), for CUDA 12.x”,然后下载适用于Linux的压缩包(如`cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz`)。 3. 传输安装包: 使用scp或其他方式将下载的安装包传输到离线服务器。 4. 安装CUDA: 在服务器上,给runfile添加执行权限并运行: ```bash chmod +x cuda_12.4.0_550.54.15_linux.run sudo ./cuda_12.4.0_550.54.15_linux.run ``` 在安装过程中,根据提示操作。注意:不要安装驱动(因为离线服务器可能已有驱动),取消勾选驱动安装(如果已有驱动版本满足要求)。通常,CUDA安装程序会检测到已安装的驱动,并提示是否安装驱动,选择“no”。只安装CUDA Toolkit。 5. 安装cuDNN: 解压下载的cuDNN压缩包,并将文件复制到CUDA安装目录: ```bash tar -xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz sudo cp cudnn-linux-x86_64-8.9.5.30_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.4/include sudo cp -P cudnn-linux-x86_64-8.9.5.30_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.4/lib64 sudo chmod a+r /usr/local/cuda-12.4/include/cudnn*.h /usr/local/cuda-12.4/lib64/libcudnn* ``` 6. 配置环境变量: 在用户的`~/.bashrc`文件中添加以下行(如果使用bash): ```bash export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` 然后执行: ```bash source ~/.bashrc ``` 7. 验证安装: - 验证CUDA:`nvcc --version` 应该显示12.4版本。 - 验证cuDNN:通常通过查看头文件版本: ```bash cat /usr/local/cuda-12.4/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 ``` 或者(如果版本文件是cudnn.h): ```bash cat /usr/local/cuda-12.4/include/cudnn.h | grep CUDNN_MAJOR -A 2 ``` 如果输出类似如下,则安装成功: ``` #define CUDNN_MAJOR 8 #define CUDNN_MINOR 9 #define CUDNN_PATCHLEVEL 5 ``` 8. 安装TensorFlow 2.18.0: 在离线服务器上,需要先在有网络的环境中下载好TensorFlow及其依赖,然后使用pip离线安装。但用户可能已经解决了TensorFlow的安装问题,这里只关注CUDA和cuDNN的安装。 注意:如果服务器上已经安装了其他版本的CUDA,需要确保环境变量指向的是12.4版本。 引用说明: 根据用户提供的引用[1],TensorFlow 2.18.0会自动安装一些CUDA相关的依赖(如nvidia-cublas-cu12等),但这是在在线环境下。离线环境下,我们需要手动安装CUDA和cuDNN,并确保版本匹配。 因此,按照上述步骤,我们可以在离线Linux服务器安装适配TensorFlow 2.18.0的CUDA 12.4和cuDNN 8.9.5。 相关问题: 1. 如何验证TensorFlow是否成功使用了GPU? 2. 离线安装TensorFlow时如何下载所有依赖包? 3. 如果服务器上已经安装了其他版本的CUDA,如何切换版本?</think>### 为 TensorFlow 2.18.0 安装适配的 CUDA 和 cuDNN(离线 Linux 服务器) #### 1. **确认版本要求** 根据 TensorFlow 官方兼容性[^1] 和用户引用记录: - **CUDA 版本**: 12.4(`cu12` 表示 CUDA 12.x) - **cuDNN 版本**: 8.9.5(需兼容 CUDA 12.4) - **Python 版本**: ≥3.9(推荐 3.9-3.11) > 引用验证: > "nvidia-cublas-cu12, nvidia-cudnn-cu12..." [^1] 表明 TensorFlow 2.18.0 依赖 CUDA 12.x 组件。 #### 2. **下载离线安装包** 需在联网设备下载后传输到服务器: - **CUDA 12.4** 访问 [NVIDIA CUDA 存档](https://developer.nvidia.com/cuda-toolkit-archive) → 选择: ```bash OS: Linux | Arch: x86_64 | Distro: 按服务器系统选择(如 Ubuntu/RHEL) Installer Type: runfile (local) # 离线安装首选 ``` 示例文件名:`cuda_12.4.0_550.54.15_linux.run` - **cuDNN 8.9.5** 访问 [NVIDIA cuDNN 存档](https://developer.nvidia.com/rdp/cudnn-archive) → 需注册账号 → 选择: ```bash cuDNN v8.9.5 (November 16, 2023) for CUDA 12.x → Download cuDNN Library for Linux (x86_64) ``` 示例文件名:`cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz` #### 3. **传输文件到离线服务器** 使用 `scp` 或 U 盘拷贝: ```bash scp cuda_12.4*.run user@server:/path/ scp cudnn-*.tar.xz user@server:/path/ ``` #### 4. **安装 CUDA 12.4** ```bash # 赋予执行权限 chmod +x cuda_12.4.0_550.54.15_linux.run # 安装(跳过驱动安装) sudo ./cuda_12.4.0_550.54.15_linux.run --silent --toolkit --no-drm --no-man-page ``` > 关键选项: > - `--toolkit`:仅安装 CUDA Toolkit > - `--no-drm`:禁用 NVIDIA DRM 组件 > - `--no-man-page`:跳过手册(节省空间) #### 5. **安装 cuDNN 8.9.5** ```bash # 解压并复制文件 tar -xvf cudnn-linux-x86_64-8.9.5.30_cuda12-archive.tar.xz sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda-12.4/include/ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda-12.4/lib64/ sudo chmod a+r /usr/local/cuda-12.4/lib64/libcudnn* ``` #### 6. **配置环境变量** 在 `~/.bashrc` 或 `/etc/profile` 中添加: ```bash export PATH=/usr/local/cuda-12.4/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH ``` 生效配置: ```bash source ~/.bashrc ``` #### 7. **验证安装** ```bash # 检查 CUDA nvcc --version # 应输出 12.4 # 检查 cuDNN cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2 # 输出示例: # #define CUDNN_MAJOR 8 # #define CUDNN_MINOR 9 # #define CUDNN_PATCHLEVEL 5 ``` #### 8. **安装 TensorFlow 2.18.0** 在离线服务器上通过预下载的 wheel 安装: ```bash pip install tensorflow-2.18.0-cp39-cp39-linux_x86_64.whl # 需提前下载适配的 wheel ``` > 获取 wheel 文件:在联网设备执行 `pip download tensorflow==2.18.0 --python-version 3.9 --platform manylinux2014_x86_64` #### 9. **最终验证** ```python import tensorflow as tf print(tf.__version__) # 应输出 2.18.0 print(tf.config.list_physical_devices('GPU')) # 应显示 GPU 信息 ``` ### 常见问题解决 - **CUDA/cuDNN 版本不匹配**:严格按 12.4 + 8.9.5 组合安装。 - **缺少 libcublas 等依赖**:手动安装 [CUDA Toolkit 12.4](https://developer.download.nvidia.com/compute/cuda/repos/) 中的本地包。 - **权限问题**:使用 `sudo` 安装 CUDA,或为普通用户配置 `/usr/local/cuda` 的读权限。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值