一些蠢事和如何拯救你的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
2
gcc -v
g++ -v

如果没有,参考文档的开头部分

Rpm安装wget

实际上该文章是从底层开始往上写,而我的路径探索是从顶层往下找的。在发现yum无效,apt-get无效,连wget都没有,属实让人绝望哈

在一个很古老的网站上下载wget的安装包,用Ctrl+F去搜索wget即可,这是适配CentOS71.14版本,该网站上仍然保存有CentOS6的目录,但是很可惜,因为C6已经被遗弃,因此目录文件都被删除了,你能找到的只是一个警告文本。

不幸的是,我尝试在docker里安装wget1.14,报了4个依赖错误,我尝试降级,即使用CentOS6的wget1.12版本,一步一步走到了现代互联网的边缘,也就是荒无人烟的地方,一些几乎没什么人访问的小网站,竟然还开着,甚至没有HTTPS,更有一个网站使用FTP协议提供下载,我也去寻找了FTP下载器,但是显然,似乎是年代久远,我无法连接到该服务器(连接上了,但是下载器提示等待服务器欢迎信息,随后断开),我不由得感叹C6版本应该是多么的古老,甚至有2012年的网址,10年似乎对于互联网来说长不长短不短?反正我觉得听离谱的。

但是仍然可以在奇怪的网站或者我的网盘找到wget1.12的源文件

在上传了安装包后使用

1
docker ps Local/Path ContainerNAME:/container/path

来传入安装包,随后解压

1
tar -xvf /TarPackPath

使用RPM安装

1
rpm -ivh /NAME.rpm

应该安装上了。

显然,我这边铁出问题的,报了libcrypto.so.10依赖缺失和 libssl.so.10依赖缺失,这个依赖的安装得从gcc\g++编译器安装开始了。期间还需要使用到无法找到的make指令,到这一步我觉得已经太复杂了,因此放弃。你可以参考路的尽头来获得帮助,处理两个依赖的报错问题

后记

到底发生了什么呢?我已经记不大清,但是还是能叙述一下到底发生了什么

一切的一切问题在于,我使用的MySQL数据库,远程连接使用mysql指令嘛,但是我觉得这个指令没有补全,很难使用,因此找到了mycli,一个依赖于python环境的解决方案,不幸的是,他在我的计算机上使用的过程中总是报less command not found错误,无法正确返回(描绘出)数据库的表格图像,一开始我以为是本机的环境问题,听说node.jsnumpy都有叫做less的指令,遂安装之。

显然问题是没能解决的,不然就没这么多B事了,随后我猜测可能是服务器环境的问题,于是立马在服务器上安装了node.jspython3.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镜像呢?


一些蠢事和如何拯救你的LINUX
https://qlozin.top/2022/09/17/Linux急救方案/
作者
QLozan
发布于
2022年9月18日
更新于
2024年8月11日
许可协议