近期准备办公环境时安装python3、tmux、git等的一些问题记录

近期在准备日常办公环境时遇到了一些问题,咋一看这些问题都很基础,最后的具体解决方式也很琐碎,但预感到其会是某一类问题(应该是版本兼容类问题)的通用灵感来源因此将其归类整理起来。

问题1:centos 6安装python3.12版本遇到ssl不生效的问题

在使用python时我一般比较喜欢较新的版本,而python2.7才是很多老版本centos自带的,因此我在官网直接下载了python3.12的源码tarball,解压之后根据README.md直接梭哈安装:

./configure && make && make install

然后问题就来了,突然发现 python3 -m pip install 时有ssl相关的报错,大约是:ssl module is not available 类似的报错。

很诧异,以往安装从未出现此类问题,于是./configure help了一下发现有个--with-openssl的option可以指定openssl的bin文件,加上再来一遍问题依旧。

于是搜索之,chatgpt和stackoverflow基本没有找到可用答复,只是额外发现了另一个明显的问题标志:import ssl会报 _ssl包不存在/不可用 这样的错误(后来才发现是make编译Python时就会有警告)。

当天搁置之,第二天早上醒来感觉可能是版本问题,于是换了几个版本进行重试,最终确定降到3.6.5的版本安装是比较顺利的,且configure时会自动编译ssl特性无需指定。

后来发现CentOS 7的yum源中可直接yum -y install python3.6.8,总之高版本的Python安装时,CentOS6、7自带的openssl版本缺失不满足需求,需要装更高版本的openssl。

问题2:centos 6安装tmux遇到依赖包不足的问题,主要是libevent

tmux一款linux平台下很好用的会话维护工具,当你要执行耗时较久的命令却又担心由于网络波动、会话超时、会话长时间无主动信号等因素导致会话中断任务失败时,tmux可以很好的解决此类问题。

但是在centos 6安装此工具时却发现相应的依赖包无法下载,尝试更新yum repo却发现国内大多数的rpm镜像站已经遵循centos社区的倡议去除了centos 6版本的repo支持,只能使用官方vault旧源(旧源不一定版本合适),的因此直接yum install tmux的路有点难走,懒得去找合适的yum源了。

接下来到tmux的github里查找其他安装方式,很幸运的是tmux项目里提供了编译安装的办法。

首先tmux的README里说明了tmux的核心依赖包只有2个:libevent 2.x和 ncurses,看了下centos 6自带的是libevent 1.x,ncurses没版本要求倒是不用管了。

libevent 2.x的安装同样面临yum源失效的问题,于是现在tmux的安装变为了:编译安装libevent 2.x => 编译安装tmux

继续遵循tmux的安装文档进行libevent 2.x的编译安装,先去https://libevent.org/下了一个2.x的安装包,然后遵循其README执行configure make一把梭哈安装完毕。

然后回头编译安装tmux一路畅通。

但是使用tmux时却报了找不到libevent依赖的错误,很诧异;于是strace tmux的执行过程,发现他找的几个libevent路径都不是libevent 2.x实际安装的路径,虽然编译安装时找对了但是执行tmux时没找到。

于是使用find命令找到libevent-2.x.so的实际文件,做了个软连接到tmux启动实际查找的lib PATH,最后总算好了。

问题3:win10安装git后却不能访问gitlab的问题,提示认证算法类型不符

本地win10系统在https://git-scm.com/download/win下载并安装了最新的2.45版本的git,但是在访问公司gitlab仓库时却遇到了ssh算法类型不匹配的错误:

no matching host key type found. Their offer: ssh-rsa,ssh-dss

闹麻了,于是ssh-keygen -t rsa重新生成了一遍秘钥公钥,更新了下gitlab个人账号的ssh key配置,发现还是不行。

这次直接百度之,10s之后本着试一把的想法在.ssh里加了config文件并配以以下内容:

Host *
HostKeyAlgorithms ssh-rsa
PubkeyAcceptedKeyTypes ssh-rsa

嘿,治好啦!但是我还是没明白到底是gitlab本身的版本过低,还是我下载的git版本过高,亦或是其他网络安全问题。

posted @ 2024-05-24 14:35  realcp1018  阅读(22)  评论(0编辑  收藏  举报