服务器与环境配置——Ubuntu22.04杂记

服务器与环境配置——Ubuntu22.04杂记

  • 系统配置
    • apt/apt-get Proxy 配置
    • 修改主机名
    • 用户权限
    • 文件复制
  • 一些容易出错的python库安装
    • Pytorch3D (0.7.5)
    • psbody-mesh 4.0 ([link](https://github.com/MPI-IS/mesh))
  • 其它

系统配置

apt/apt-get Proxy 配置

sudo nano /etc/apt/apt.conf.d/proxy.conf 编辑proxy.conf文件如下:

Acquire::http::proxy "http://username:password@your_proxy:port/";
Acquire::https::proxy "https://username:password@your_proxy:port/";
Acquire::ftp::proxy "ftp://username:password@your_proxy:port/";

修改主机名

默认主机名通常太长影响指令输入:

  • 临时修改主机名使用sudo hostnamectl set-hostname YourServerName
  • 永久修改主机名需要将/etc/hosts和sudo nano /etc/hostname中原本的主机名替换成新的主机名

用户权限

添加用户到sudousermod -a -G sudo xxxx

文件复制

需要copy工程又不想带着数据或者checkpoint这类大文件一起传输:rsync -av --exclude=experiments/ source_folder/ target_folder/

一些容易出错的python库安装

Pytorch3D (0.7.5)

  • 问题:编译出错,安装不上
  • 解决:通常是因为G++,GCC版本过高(如11),需要用9版本进行编译(更低没测试过),在编译命令前加上: CC=gcc-9 CXX=g++-9即可解决

psbody-mesh 4.0 (link)

  • 问题:使用 pip install git+http://github.com/MPI-IS/mesh.git 后无报错无异常,但实际使用的时候无法显示Meshviewer窗口。
  • 步骤1:核对需要的库是否安装:sudo apt-get install libboost-dev
  • 步骤2:使用 meshviewer open --port xxxx 检查问题,发现libGL无法正常导入 swrast,报错如下:
 libGL error: MESA-LOADER: failed to open swrast: /usr/lib/dri/swrast_dri.so: 
 cannot open shared object file: No such file or directory 

可以看出来,这个叫swrast_dri.so的文件在列出的几个搜索路径中都找到不到,这是因为对于ubuntu22.04, 该文件的位置通常为 /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so , 因而使用软连接挂过去就可以帮助程序找到改文件:sudo ln -s /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so /usr/lib/dri/

  • 步骤3:再次使用步骤二中语句检查问题,可能会发现发现libGL仍然无法正常导入swarst,报错如下:
libGL error: MESA-LOADER: failed to open swrast: /xxxx/../lib/libstdc++.so.6: 
version `GLIBCXX_3.4.30' not found (required by /lib/x86_64-linux-gnu/libLLVM-15.so.1)

此时可以检查一下libstdc++.so.6文件中的版本信息: strings /xxxx/../lib/libstdc++.so.6 | grep GLIBCXX_,如果发现确实没有GLIBCXX_3.4.30版本, 那么可以使用sudo locate libstdc++.so.6在全局定位一下其它的libstdc++.so.6文件,看一下哪个有GLIBCXX_3.4.30版本,再挂个软连接到上面的 /xxxx/../lib/libstdc++.so.6,就可以修复问题了

其它

  • 当在默认pip设置覆盖不到的python环境安装库产生SSL验证错误问题[SSL: CERTIFICATE_VERIFY_FAILED],可以使用 --trusted-host pypi.org --trusted-host files.pythonhosted.org 临时不验证SSL证书,其中pypi.org和pythonhosted.org可替换维其它源的连接
  • 查看模型每层参数类型:for name, param in model.named_parameters(): print(name, param.dtype)

你可能感兴趣的:(服务器,python,ubuntu)