前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Centos Stream9下重新安装yum和DNF以及python3

Centos Stream9下重新安装yum和DNF以及python3

原创
作者头像
每晚故事会
修改2024-08-07 16:27:55
5960
修改2024-08-07 16:27:55
举报
文章被收录于专栏:每晚故事会资源

Centos Stream9下重新安装yum和DNF以及python3

我是如何干掉yum和dnf又给装回来的

以下是参考的技术文档:没用任何引流的方式,请审核审核一下参考来源。以下是原创文章并非,绝无仅有的一篇删了yum和dnf以及python的文章。如果这也被驳回,那我没办法想了。

所属环境:Centos stream 9 docker 版本,卸载掉的工具主要是rpm和rm这两个最基本的工具

所需镜像来源腾讯云:https://mirrors.tencent.com/centos-stream/9-stream/

所需知识库有点多,需客观对待,比如dnf是如何工作的,yum是如何工作的等

参考源码和dnf开源社区:https://dnf.readthedocs.io/en/latest/use_cases.html

GitHub仓库dnf的官方仓库:https://github.com/rpm-software-management/dnf

理解dnf的工作原理以及他是在哪个地方的源码编译的,以及利用python3如何定义源的问题

参考dnf开源社区的一些参考https://docs.fedoraproject.org/en-US/quick-docs/dnf/

1、首先dnf并不是rehat的一个分支

1.理解一些常识错误,(yum 这个命令并不是通过编译来实现,他本身是一个python的一种表达,通过dnf这个来实现rpm的更新和清理cache,具体可以看下yum.conf 。你可以通过命令which yum和whereis yum得到一些你想要的文档和配置,这有点困难呢~)

2.dnf命令这里直接省略,因为dnf只需常用的一些命令就能实现更新。比如microdnf 也是dnf的一个分支。

3.yum命令其实是调用dnf命令的,可以参考bin下的软链接,比如查看bin下的yum

代码语言:txt
复制
ls -il /bin yum

2、卸载yum和dnf以及python

查看python安装包

代码语言:txt
复制
rpm -qa |grep python

查看yum安装包

代码语言:txt
复制
rpm -qa |grep yum

查看dnf安装包

代码语言:txt
复制
rpm -qa |grep dnf

骚操作来了


强制卸载python及其相关包

代码语言:txt
复制
rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps

删除残留文件

代码语言:txt
复制
whereis python|xargs rm -frv

强制卸载yum及其相关包

代码语言:txt
复制
rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps

删除残留文件

代码语言:txt
复制
rm -rf /etc/yum.repos.d/* 
whereis yum|xargs rm -frv

好了到这部,基本上你的操作就没了,yum和python也不会打理你了。

dnf现在还报错,原因python3被你删了(小知识,cento stream 9 没有python2)

强制卸载dnf及其相关包

代码语言:javascript
复制
rpm -qa|grep dnf|xargs rpm -ev --allmatches --nodeps

删除残留文件

代码语言:javascript
复制
whereis dnf|xargs rm -frv

好了整个流程就是这样 ,想装回来咋办????这里很多个问号,无从下手了,凉拌了。整个互联网没有这个文章,有也是2019年关于centos7或者centos8的,没有咋办,向大佬们取经???基本上没用,除了给你看看就没其他方案了。这就是现实。

首先想到的是试试能不能通过编译make 和make install的,答案是否定的。操作了pyenv我想当然的以为装个这个应该就能是python环境了吧,结果答案是否定的,为什么?我想这里可能涉及到Linux核心编程这一书,书中非常详细的讲了这个过程。

关于python的源,国内就华为云有

结果很明显,我安装后dnf和yum后,会报错,比如libimaevm.so.4没找到这个库,咋办?这里不得不说这个网站了

https://rpmfind.net/linux/rpm2html/search.php?query=libimaevm.so.4

向这个网站致敬,没有他,你无法找到依赖无法找到libxxx错误,以及一些常用的库都有提供,貌似只有2020年以后的可以使用。查遍所以AI和chatgpt,没有一个回复正确,咋办,手动呗。就是有这个决心。

代码语言:txt
复制
rpm -Uvh xxx.rpm 

在镜像

https://mirrors.tencent.com/centos-stream/9-stream/BaseOS/x86_64/os/Packages/

包中找到python的包安装一遍,这里的依赖等会一并发出来。

比如python的依赖 dnf的依赖等等。

过程中会遇到(X86_64)这样的直接忽略

代码语言:txt
复制
rpm -Uvh xxx.rpm --nodeps

这样就大公告成了。但是,你以为这样就可以了??????

哈哈哈,你装了环境,装了包,你的dnf还是失败,提示dnf包没用安装libdnf包。哈哈哈哈

代码语言:txt
复制
systemctlenable--nowdnf-automatic-notifyonly.timer

启动dnf automatic

原理请看这篇:https://dnf.readthedocs.io/en/latest/automatic.html

这回你觉得大公告成了????没那么容易,你的python环境是在系统里,但是环境还没放你配置文件呢

所以记得编辑一下.bashrc

然后记得设置一些生效

代码语言:txt
复制
echo  $PATH=你的python所在文件夹;你的yum所在文件夹;你的dnf所在文件夹

然后启用 比如你是root用户登录,就在root目录下运行上面和下面的环境配置参考:

代码语言:txt
复制
source ./.bashrc 

真辛苦,终于搞定。

忘了关键的依赖没写,等会写,让我先高兴一下,喝口水。

-rw-r--r-- 1 root root 491908 Aug 7 13:38 dnf-4.14.0-9.el9.noarch.rpm

-rw-r----- 1 root lighthouse 40448 Nov 13 2023 dnf-data-4.14.0-9.el9.noarch.rpm

-rw-r--r-- 1 root root 70992 Aug 7 14:55 ima-evm-utils-1.5-2.el9.x86_64.rpm

-rw-r--r-- 1 root root 676270 Aug 7 14:52 libdnf-0.69.0-9.el9.x86_64.rpm

-rw-r--r-- 1 root root 1047248 Aug 7 13:19 lvm2-libs-2.03.24-1.el9.x86_64.rpm

-rw-r--r-- 1 root root 27114 Aug 7 13:16 python3-3.9.19-4.el9.x86_64.rpm

-rw-r--r-- 1 root root 473473 Aug 7 13:38 python3-dnf-4.14.0-9.el9.noarch.rpm

-rw-r--r-- 1 root root 287423 Aug 7 14:12 python3-gpg-1.15.1-6.el9.x86_64.rpm

-rw-r--r-- 1 root root 104829 Aug 7 14:12 python3-hawkey-0.69.0-12.el9.x86_64.rpm

-rw-r--r-- 1 root root 50106 Aug 7 14:13 python3-libcomps-0.1.18-1.el9.x86_64.rpm

-rw-r--r-- 1 root root 799548 Aug 7 14:13 python3-libdnf-0.69.0-9.el9.x86_64.rpm

-rw-r--r-- 1 root root 8481921 Aug 7 14:18 python3-libs-3.9.19-4.el9.x86_64.rpm

-rw-r--r-- 1 root root 231066 Aug 7 13:16 python3-libxml2-2.9.13-6.el9.x86_64.rpm

-rw-r--r-- 1 root root 1181980 Aug 7 14:43 python3-pip-wheel-21.2.3-8.el9.noarch.rpm

-rw-r--r-- 1 root root 66904 Aug 7 13:17 python3-rpm-4.16.1.3-32.el9.x86_64.rpm

-rw-r--r-- 1 root root 482652 Aug 7 14:44 python3-setuptools-wheel-53.0.0-9.el9.noarch.rpm

-rw-r--r-- 1 root root 92343 Aug 7 13:17 yum-4.14.0-9.el9.noarch.rpm

这是一篇技术文章,文章参考的技术有点多,为了方便阅读,部分友商云的已经去除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Centos Stream9下重新安装yum和DNF以及python3
  • 我是如何干掉yum和dnf又给装回来的
  • 1、首先dnf并不是rehat的一个分支
  • 2、卸载yum和dnf以及python
  • 骚操作来了
    • 强制卸载python及其相关包
      • 删除残留文件
        • 强制卸载yum及其相关包
          • 删除残留文件
            • 强制卸载dnf及其相关包
              • 删除残留文件
              相关产品与服务
              容器服务
              腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档