跳转至

折腾

RockyLinux 9 基础配置与使用

今天终于在阿里云入手了一台 2核(vCPU)+ 2GiB + 3Mbps 的 ECS,安装了最新的 Rocky Linux release 9.3 (Blue Onyx),记录一下开箱后的一些基础配置。

苹果字体 PingFang SC 的一些踩坑记录

曾经在 《为 Windows 系统替换优雅的苹果字体》中提到可在 Windows 中使用苹方字体替代默认的微软雅黑,这里就有一个问题即需要在 Wondows 下安装苹方字体 —— 如果你的字体安装错误,很有可能导致你的浏览器或其他应用出现乱码。

浏览器乱码

出现这个的原因主要是站点使用了 PingFang SC 的字体设置。

body {
    font-family: PingFang SC,microsoft yahei,sans-serif;
}

我们可以看到使用 F12 检查源码模式把 font-family 中的 PingFang SC 去掉后即可显示正常。

Python3 编译安装 –with-openssl 无效的问题

很多人在使用 Python3 经常会遇到一些 openssl 版本太低从而导致包无法正常使用的问题,尤其是 urllib3 这个包。

Python 3.9.18 (main, Sep  7 2023, 14:32:17) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/requests/__init__.py", line 43, in <module>
    import urllib3
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips  26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168
>>> import ssl
>>> import urllib3
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/software/python-3.9.18/lib/python3.9/site-packages/urllib3/__init__.py", line 41, in <module>
    raise ImportError(
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.0.2k-fips  26 Jan 2017'. See: https://github.com/urllib3/urllib3/issues/2168

不同版本服务器间 SSH 免密码登录失败

今天从服务器 A(CentOS 7.3)配置 SSH 无密码登录服务器 B(CentOS Steam 9),发现执行以下常规操作后无法实现:

$ ssh-keygen
$ ssh-copy-id -i ~/.ssh/id_rsa.pub shenweiyan@66.xx.xx.xx  # ssh-copy-id user@rhel-9-server-IP
$ ssh shenweiyan@66.xx.xx.xx
ssh-keygen-need-passwd

Micro/Mamba 安装与注意事项

记录一下 Micromamba/Mamba 安装的步骤和注意事项。

Mamba 安装

Mamba 可以使用 Mambaforge 方法和已有 Mini/conda 的方式安装,官方推荐的是前面一种,即使用 Mambaforge 进行全新安装。

全新安装

关于 mamba 的安装,官方推荐 Fresh install,即全新安装。

We recommend that you start with the Mambaforge distribution. Mambaforge comes with the popular conda-forge channel preconfigured, but you can modify the configuration to use any channel you like. Note that Anaconda channels are generally incompatible with conda-forge, so you should not mix them.
我们建议您从 Mambaforge 发行版开始。 Mambaforge 预配置了流行的 conda-forge 通道,但您可以修改配置以使用您喜欢的任何通道。请注意,Anaconda 通道通常与 conda-forge 不兼容,因此您不应混合使用它们。

Python 中 tkinter 源码安装使用与中文乱码

主要是因为下面这两个原因,所以决定从源码编译安装去折腾一下 tkinter,以下是一些记录。

_tkinter not found

Python 3 源码编译安装,执行 make 过程中提示 _tkinter not found,如下:

$ make
......
Python build finished successfully!
The necessary bits to build these optional modules were not found:
_tkinter 

Python3 源码安装

编程,作为生物信息学的一个基础性技能,是任何一个生信工程师都无法绕开话题。也许有些人还在纠结 Perl 和 Python 到底应该学习哪一个,但作为目前最火最流行的编程语言 Python 还是非常值得尝试的。它不但可以进行文本处理,在统计、网站、游戏、爬虫、数据可视化等方面也有非常强大的应用,比起曾经的 Perl 真的强大和全面很多,且比 Perl 更容易入手。不管从长远发展,还是短期需要,学会 Python,看懂 Perl (或者先学   Python,后学 Perl) 应该是每一个生信工程必备的基础技能之一。

工欲善其事,必先利其器。关于 Python 安装教程在网上一搜一大把,但总感觉不够全面,尤其对于中间出现的一些问题的解决方法不尽如人意。鉴于此,本文基于  CentOS/RHEL Linux 对 Python 的源码编译安装进行了一下简单的总结,记录如下。

在 Linux 上给用户赋予指定目录的读写权限

在 Linux 上指定目录的读写权限赋予用户,有两种方法可以实现这个目标:第一种是使用 ACL (访问控制列表),第二种是创建用户组来管理文件权限,下面会一一介绍。为了完成这个教程,我们将使用以下设置:

  • 操作系统:CentOS 7
  • 测试目录:/data/share
  • 测试用户:shenweiyan
  • 文件系统类型:ext4

请确认所有的命令都是使用 root 用户执行的,或者使用 sudo 命令来享受与之同样的权限。让我们开始吧!下面,先使用 mkdir 命令来创建一个名为 share 的目录。

$ mkdir -p /data/share