首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

CentOS源码构建RPM

本篇通过nova项目的rpm构建来演示基本rpm构建过程。...之前在安装nova-compute服务,遇到了nova-compute服务要求qemu-kvm >= 2.9.0依赖问题,但是对应版本操作系统仅有2.7.0安装包,所以利用这次机会学习了一下如何自己构建...通过src.rpm构建新包 RPM构建需要用到一个以.spec结尾文件(即软件包描述文件), 这个文件中包含了软件包诸多信息,如软件包名字、版本、类别、依赖、说明摘要、创建要执行什么指令、安装要执行什么操作...# 将上面找到内容(170~183行)直接删除,并增加新依赖关系(170行),然后保存退出即可 [root@centos ~]# vim ~/rpmbuild/SPECS/openstack-nova.spec...: 编译后只生成*.src.rpm # 我们此处不需要源码包,所以使用rpmbuild -bb命令就可以了(构建可能需要一些依赖包,需要先手动安装上) [root@centos ~]# rpmbuild

2.1K50

优化减少容器镜像大小 - 使用最小包管理器

但是alpine使用 musl libc,而不是 glibc 作为 C 库,可能会影响到一些应用兼容性,如 NVIDIA 官方 CUDA 驱动和工具包是针对基于 glibc进行构建和测试,musl...,引入动态库非常多;dnf做功能裁剪的话,目前来看非常困难。...那为什么不开发个简化dnf工具呢,而且是静态编译,不需要时候直接删除,不需要考虑复杂软件包依赖。因此godnf应运而生。...godnf是基于go语言开发,目前已经有rpmgo 库,基于这个库,我们增加软件包依赖解析和下载,就可以完成基础rpm软件包安装。重点:这个godnf程序只有4.5M,非常小。...和 godnf/ubi9作为FROM镜像构建python,可以看到redhat/ubi9-minimal microdnf构建出来容器镜像几乎大了一倍。

7410

如何无网络下免编译安装程序(RPM包)

学习完大神文章还是有一些细节不太清楚,下面我就再编译RPM过程和详细知识点再梳理扩展一下留作备忘。...安装或者编译使用"虚拟目录",一般默认 BuildRequires: 编译过程中需要软件 Requires: 依赖软件, 安装时候需要检查 Packager: 软件打包者 Vendor...rpm -Va [软件名称]: 校验所有的RPM软件包,查找丢失文件(View List) 其他 如何从python源码包构建rpmpython源码目录执行 python setup.py bdist_rpm...centos下无污染地打rpm包 mock编包一般是做发行版本给别人使用,当然你做软件要能在别人机器上跑,那么在开发过程中,我们必须模拟一个纯净用户环境(即是所谓chroot),mock在编包前先构建一个这样用户环境...无网络提前在有网络机器上下载好依赖包就好啦 引用 How to create an RPM package/zh-hk CentOS6下rpm打包实战 Centos 6 制作 rpm 包 Linux

2K170

yum update和yum upgrade真正区别

其实上述update和upgrade描述,不是非常准确,update和upgrade区别能不能再形像点?...其实,yum最大优势,就是当更新、安装、卸载包时候,会自动处理包之间依赖关系,一次安装所有以来软件包,但是,如果使用rpm安装,则需要自行安装这个包所有的依赖包,一次次下载、安装。...rpm区别,就是无论使用yum install还是yum install都会安装新内核。...这是一个yum缓存配置文件示例,obsoletes定义了更新处理软件包取代关系,简单来讲,1表示更新旧rpm同时会删除旧包,0表示更新时候不会删除旧包, [main] cachedir=/...生产环境中建议使用yum update,防止因为替换,导致旧软件包依赖出现问题。

25.9K30

Linux系统自带Python2&yum卸载及重装

写在前面 事情起因是我昨天在测试Linux安装Python3shell脚本,需要卸载Python3重新安装一遍。...但是通过如下命令卸载python3,少写了个3,不小心将系统自带python2也给删除了。..... 3.安装python 这里面有一堆依赖关系在里面,先安装哪个后安装哪个也是有讲究,网上看了很多教程,如下图,说法不一,按照他们操作顺序后还是会报各种依赖错 我嫌太麻烦,剪不断、理还乱,干脆把所有的依赖都放在一起...和yum卸载及重新安装全过程,虽然误删除Python及yum不会导致系统挂掉这么严重问题,但也会增加很多不必要麻烦,尤其是时间浪费。...所以在执行一些命令,尤其是一些删除、卸载命令,一定要慎重!

2.8K10

Linux系统运维问题解决(一)

python|xargs rm -frv #删除所有残余文件 #xargs,允许你输出执行其他某些命令 Step2....验证是否删除干净 whereis python whereis yum Step4.重新安装python和yum #在以下链接镜像站中找到你系统对应版本python rpm包,选择系统对应位数...ls -l /proc/13067 查看进程PID为13067进程信息;当程序运行时操作系统会专门开辟一块内存区域,提供给当前进程使用,对于依赖文件,操作系统会发放一个文件描述符,以便读写文件; 当我们执行...rm -f 删除文件,其实只是删除了文件目录索引节点,对于文件系统不可见,但是对于打开它进程依然可见,即仍然可以使用先前发放文件描述符读写文件,正是利用这样原理,所以我们可以使用I/O重定向方式来恢复文件...执行步骤: #1.使用lsof查看打开该文件进程 #2.再使用cat /proc/进程号/fd/文件描述符 查看恢复数据 #3.最后使用I/O重定向方式来恢复文件 常见模拟: #1.误删除文件 >

2.9K10

前端要知道Linux RPM 和 YUM 包管理

现在,大部分 Linux 发行商都使用预先构建程序或称为包 程序集,这些包已准备好安装在该发行版上。在本教程,你将学习可帮助安装、更新和删除包管理工具。...所有工具都拥有基本命令行功能,而其他一些工具可以提供用户更友好接口。所有工具都能从互联网检索包。 安装 Linux 系统,通常会安装大量包。...gcc-gfortran 删除测试 1[root@attic-f21 ~]# rpm -e --test gcc-gfortran 不同于使用 apt-get Debian 包模拟删除RPM...但是,如果您在单个命令上指定删除多个包,没有依赖包会在有依赖包之前删除使用 rpm 删除,在删除包之前没有提示,这与安装包不同。...对于这种情况,您可能希望删除现有副本并重新安装它,而不是卸载并重新安装所有依赖包。为此,在删除,可以使用 rpm 命令 --nodeps 选项绕过依赖项检查。

4.1K30

Linux相关操作

ssh配置秘钥 连接远程服务器;需要用户持有“公钥/私钥”,远程服务器持有公钥,本地持有私钥。 客户端向服务器发出请求。...重装yum   因为python安装uwsgi一直装不上,各种方法都用…绝望之下,重装~然后发现yum依赖python2~,我顺带连python2也删了,索性就连yum也卸了,全部重装。...先来删除一波~~~~ # 强制删除已安装程序及其关联 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps # 强制删除所有残余文件 whereis...# 强制删除所有残余文件 whereis yum |xargs rm -frv # 查看自己系统版本命令 cat /etc/redhat-release 下载下面的rpm包,然后传到服务器上,如果提示依赖可以自己去库中下载同名包...(我是contos7,一定要找自己系统版本下载),库_Portal ?

97720

linux系统中如何卸载删除软件_卸载预装软件app

你可以使用如下命令来忽略依赖关系,直接开始卸载: #rpm -e [package name] -nodeps 忽略依赖关系卸载可能会导致系统中其它一些软件无法使用。...名为[package name]软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。如果因存在依赖关系而不能卸载,rpm将给予提示并停止卸载。...你可以使用如下命令来忽略依赖关系,直接开始卸载:#rpm -e [pac … 一般编译安装软件都是用make命令来编译和安装,那么makefile文件中肯定也提供了删除和卸载功能你编译用make...键入命令: #rpm -e [package name] 即可卸载软件。参数e作用是使rpm进入卸载模式。名为[package name]软件包进行卸载。由于系统中各个软件包之间相互有依赖关系。...你可以使用如 … A.rpm包卸载:rpm -e XXX.rpm (如果想忽略依赖,可加上–nodeps) B.yum remove xxx.rpm 这种方法非常不建议使用,卸载过程会将待卸载软件包所依赖软件包一并卸载掉

6.4K10

centos7 重装python和yum

卸载现有的Python和Yum 1、删除现有Python ##强制删除已安装程序及其关联 rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps...##删除所有残余文件 ##xargs,允许你输出执行其他某些命令 whereis python |xargs rm -frv ##验证删除,返回无结果 whereis python 2、删除现有的...yum、强制删除已安装程序及其关联 ##强制删除已安装程序及其关联 rpm -qa|grep yum|xargs rpm -ev --allmatches --nodeps ##强制删除所有残余文件....el7.noarch.rpm ##创建目录python和yum用以存放rpm包 mkdir /usr/local/rpm ##使用wget分别下载python以及yumrpm包(注意:一定要和系统版本号对应.../rpm rpm -ivh python-* rpm-python-* ##出现安装包依赖问题,此时如下解决即可:–nodeps --force为不考虑依赖包,强制安装。

1.3K30

CentOS 上安装 RPM 软件包具体步骤

准备工作 安装 RPM 软件包,请确保它们是为您系统架构和 CentOS 版本构建。...您应该避免使用此方法来替换或更新重要系统软件包,例如 glibc , systemd 或其他系统正常运行至关重要服务和库。这样做可能会导致错误和系统不稳定。...如果要更新已使用 yum 安装 RPM 软件包,请使用与安装软件包相同过程。...要使用rpm 工具安装 RPM 软件包,请使用安装选项 -i ,后跟 RPM 软件包名称: sudo rpm –ivh file.rpm 如果程序包依赖于您尚未安装其他程序包,则 rpm 将显示所有缺少依赖列表...选项: sudo rpm –Uvh file.rpm使用rpm 命令删除包,请使用 –e (擦除)选项,后跟包名: sudo rpm –e file.rpm 总结 在本教程中,您学习了如何在

3.5K30

CentOS7修复python拯救yum

本着爱岗敬业精神回复“您说”。 然后很含蓄告诉我yum不好用了。得嘞,这活可能很简单,就是自己编译了高版本替换了系统python,然后yum使用python,由于版本高,库没有,导致没法使用。  ...具体过程如下: 简述为:  a 找python与yumrpm包:   在同样系统服务器上使用yumdownloader 命令 将rpm包下载到另一台服务器上,然后搞到这个服务器上:  yumdownloader...Uvh --replacepkgs python*.rpm [root@test ~]#  rpm -Uvh --replacepkgs rpm-python*.rpm yum*.rpm  该过程如果出现依赖关系需要安装其他...c 安装完成,测试使用 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 详解过程 1 删除系统python...尝试删除系统pythonrpm直接-e删除会看到很多依赖,但是没删除成功 ? 用yum删除下,这次也没成功,显示python被系统保护,这是必须python对于系统很重要。

2.6K71

linux中RPM命令20个实际示例

命令和选项 -i: 安装一个包 -v: 详细显示更好显示 -h: 在解压包存档打印散列标记。...安装前如何检查rpm依赖关系 假设你想在安装或升级包之前进行依赖项检查。比如使用下面的命令来检查依赖BitTorrent-5.2.2-1-Python2.4.noarch.rpm包裹。...如何安装无依赖rpm包 如果你知道所有需要软件包都已经安装,你可以使用选项忽略这些依赖项–nodeps(no dependencies check) 在安装包之前。...如何删除rpm包 要卸载rpm包,例如我们使用包名nx, 不是原来包名nx-3.5.0-2.el6.centos.i686.rpm.这-e (erase)选项用于删除包。...[rumenz@local]#rpm -evv nx 11. 如何删除没有依赖关系rpm包 这–nodeps(Do not check dependencies) 选项强制从系统中删除rpm包。

1.3K20

5 种 Linux 安装包管理工具中文手册!抓紧看,别再说不会了,丢人。。。

命令行使用 # apt-get(选项)(参数) $ apt --help Usage: apt [options] command # 选项 -c:指定配置文件 # 参数 管理指令:APT软件包管理操作...套件档>+:查询指定RPM套件档 -q:使用询问模式,当遇到任何问题rpm指令会先询问用户 -R:显示套件关联性信息 -s:显示文件状态,本参数需配合"-l"参数使用 -U或--upgrade...软件包依赖关系; localinstall:安装本地rpm软件包; localupdate:显示本地rpm软件包进行更新; deplist:显示rpm软件包所有依赖关系。...Yum 主要是用 Python 编写,它有自己应对依赖解析方法。它 API 没有完整文档,它扩展系统只允许 Python 插件。...Yum 是 RPM 前端工具,它管理依赖关系和资源库,然后使用 RPM 来安装、下载和删除包。 由于 Yum 中许多长期存在问题仍未得到解决,因此 Yum 包管理器已被 DNF 包管理器取代。

97550

修复我服务器上那被我折腾乱七八糟centos

也好,py3也好,全都删干净,yum也删干净 #强制清除已安装python程序及其关联,xargs,允许你输出执行其他某些命令 rpm -qa|grep python|xargs rpm -ev -...-allmatches --nodeps #删除所有残余文件 whereis python |xargs rm -frv #验证删除,返回无结果说明清除干净 whereis python #卸载yum....py python get-pip2.py #查看pip版本 pip -V 如果一切顺利,那么你在查看pip版本将能看到类似于下面这样输出: 查看pip2版本 接下来就是获取py3源码并编译安装...gcc make -y 安装完依赖之后去python官网ftp地址挑一个自己喜欢版本并通过wget命令下载到你服务器上,或者使用wget https://302.ba7jcm.top/upload/...当 /usr/bin/six.pyc 存在,它被用于 yum 命令而不是 Red Hat 提供命令。 这是错误根本原因。 如果您使用 python-6 v.1.3.x,也会出现此问题。

1K30

Centos7下误删python2和yum解决办法

,开始想尝试将其删除,但是技术不过关,删除之后又重新运行了,没办法只有把重要代码和数据备份之后,将服务器重置了系统。...然后在重新配置安装nginx时候,误删除了yum。尝试解决办法时候,又把python2删除了。T.T。只有重新安装python2和yum。找了一圈安装方法,他们一些源位置,都已经移除了。...| xargs rpm -ev --allmatches --nodeps ## 强制删除已安装程序及其关联 $ whereis python | xargs rm -frv ## 删除所有残余文件...##xargs,允许你输出执行其他某些命令 $ whereis python ## 验证删除,返回无结果 2、清理yum $ rpm -qa | grep yum.../python ## 存放python 需要rpm包 $ mkdir /usr/local/src/yum ## 存放yum需要rpm包 4、查看自己系统版本 $ cat /etc/redhat-release

1.7K31

docker和docker-compose

,这个服务是多个项目的集合体,启动和关闭都相对一个一个项目的启动要方便很多 0x01:docker安装 第一步:删除旧版本和相关依赖 yum remove docker \...,允许你输出执行其他某些命令 whereis python |xargs rm -frv ##验证删除,返回无结果 whereis python 最终发现把python和yum全部给删除了...最终重新安装一下python和yum,只能使用rpm命令安装python和yum;执行如下命令下载如下rpm包 wget http://mirrors.163.com/centos/7/os/x86_...安装python rpm -ivh python-* rpm-python-* 安装yum rpm -ivh yum-* 如果安装过程出现了类似下面的代码,这是包与包之间依赖关系问题,...只需要卸载已经安装包【rpm -e 包名(没有.rpm后缀)】,然后先安装依赖包,即可。

87740

手抖把Python2.7卸载了,导致了自己yum不可用

Python2.7,删干干净净. ③然后我下载了Python3.8包. ④我开始使用yum命令安装Python3.8相关依赖. ⑤结果是发现yum不可用了,如下报错信息 网上找截图,大概类似...整个思路是这样,没有了Python2.7,我就需先把Linux服务器依赖Python2.7包重新安装上,再看有没有其他问题,如果没有,好万事大吉,如果有,再看提示,开始干活....该处理过程也适用于 yum因python版本无法使用问题,不同版本类型机器,切记把机器版本号替换一下就可以了....二.检查是否删除彻底 2.1.检查Python2.7是否卸载干净了 #卸载python rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps...##删除所有残余文件 whereis python |xargs rm -frv ##验证删除,返回无结果 whereis python 2.2.删除现有的yum 不可用了就先删掉,以防依赖出错

1.1K31
领券