一些蠢事和如何拯救你的LINUX
本文最后更新于:2024年8月11日 晚上
——
Linux急救方案
本来是折腾Docker的,但是意外发现docker里的环境没有pip、yum、apt-get、ping、wget、make
甚至gcc、g++
环境都是Command NOT FOUND
的情况,我本来以为docker是个微型的linux
系统,因此可以从底部一步一步往上搭建环境,我确实错了,走了一些弯路,实际上还是有区别的,如果要从底层搭建,那就得从gcc、g++
编译环境开始搭建,我已经失去了耐心
但是我依然会把一些操作步骤作为记录我曾经走过的路径。
检查gcc、g++环境
输入以下指令检查两个环境:
1 |
|
如果没有,参考文档的开头部分
Rpm安装wget
实际上该文章是从底层开始往上写,而我的路径探索是从顶层往下找的。在发现yum无效,apt-get无效,连wget都没有,属实让人绝望哈
在一个很古老的网站上下载wget
的安装包,用Ctrl+F
去搜索wget
即可,这是适配CentOS7
的1.14
版本,该网站上仍然保存有CentOS6
的目录,但是很可惜,因为C6
已经被遗弃,因此目录文件都被删除了,你能找到的只是一个警告文本。
不幸的是,我尝试在docker里安装wget1.14,报了4个依赖错误,我尝试降级,即使用CentOS6的wget1.12版本,一步一步走到了现代互联网的边缘,也就是荒无人烟的地方,一些几乎没什么人访问的小网站,竟然还开着,甚至没有HTTPS,更有一个网站使用FTP协议提供下载,我也去寻找了FTP下载器,但是显然,似乎是年代久远,我无法连接到该服务器(连接上了,但是下载器提示等待服务器欢迎信息,随后断开),我不由得感叹C6版本应该是多么的古老,甚至有2012年的网址,10年似乎对于互联网来说长不长短不短?反正我觉得听离谱的。
但是仍然可以在奇怪的网站或者我的网盘找到wget1.12
的源文件
在上传了安装包后使用
1 |
|
来传入安装包,随后解压
1 |
|
使用RPM安装
1 |
|
应该安装上了。
显然,我这边铁出问题的,报了libcrypto.so.10
依赖缺失和 libssl.so.10
依赖缺失,这个依赖的安装得从gcc\g++
编译器安装开始了。期间还需要使用到无法找到的make
指令,到这一步我觉得已经太复杂了,因此放弃。你可以参考路的尽头来获得帮助,处理两个依赖的报错问题
后记
到底发生了什么呢?我已经记不大清,但是还是能叙述一下到底发生了什么
一切的一切问题在于,我使用的MySQL数据库,远程连接使用mysql
指令嘛,但是我觉得这个指令没有补全,很难使用,因此找到了mycli
,一个依赖于python
环境的解决方案,不幸的是,他在我的计算机上使用的过程中总是报less command not found
错误,无法正确返回(描绘出)数据库的表格图像,一开始我以为是本机的环境问题,听说node.js
和numpy
都有叫做less
的指令,遂安装之。
显然问题是没能解决的,不然就没这么多B事了,随后我猜测可能是服务器环境的问题,于是立马在服务器上安装了node.js
和python3.8
环境。顺便在服务器主环境安装了mycli
,使用指令的时候没有出现问题,能够正确显示,因此我大为疑惑。
最后,我想着,不如搭建一个docker环境来测试这个mysql到底是不是python版本的问题(我的工作电脑上都是python3.10),问题的根源就从这里开始了。
显然,,MYSQL的docker镜像是没有py环境的,我拉取了一个python3.8的docker镜像,并且尝试link
它们,我需要测试link
的效果,因此有人建议我使用ping
来ping一下另一个容器,最终结果是ping
没有找到指令,yum install ping
是一个很容易想到的方案,但是yum:command not found
,因此我就开始了漫漫安装yum的方法,什么wget
\ apt-get
,甚至上传了一个python的包来离线安装,但是python报了没有依赖好像,似乎是make
指令不存在,而离线安装yum的前提是必须有python环境,因为安装脚本是py写的……
最后就走到了这一步,我为什么不一开始就使用一个linux的docker镜像呢?