SRPM 包,比 RPM 包多了一个“S”,是“Source”的首字母,所以 SRPM 可直译为“源代码形式的 RPM 包”。也就是说,SRPM 包中不再是经过编译的二进制文件,都是源代码文件。可以这样理解,SRPM 包是软件以源码形式发布后直接封装成 RPM 包的产物。
每每开发完一个程序,对于开发人员来说commit完代码就万事大吉了,实施和运维就只能骂一句仆街,然后硬着头皮去部署。
安装 rmp-build 包,它会附带安装其他必要的相关依赖包,并同步安装其他必要的软件包,如cmake、gcc等:
戳此链接 https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-25,找到 greatsql-8.0.32-25.tar.xz 下载GreatSQL源码包,放在上面创建的 /root/rpmbuild/SOURCES 目录下,并解压缩。
此链接 https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-25,找到 greatsql-8.0.32-25.tar.xz 下载GreatSQL源码包,放在上面创建的 /root/rpmbuild/SOURCES 目录下,并解压缩。
最近有同学问我制作RPM包相关的问题,我发现我以前做过,但是忘记记录了,现在记录一下:
安装rpm-build软件并配置SPEC文件 1)安装rpm-build软件包 # yum -y install rpm-build 2)生成rpmbuild目录结构 # rpmbuild -ba nginx.spec # ls /root/rpmbuild BUILD BUILDROOT RPMS SOURCES SPECS SRPMS 3)将源码软件复制到SOURCES目录 # cp nginx-1.8.0.tar.gz /root/rpmbuild/SOURCES/ 4)创建并修改S
RPM(Redhat Package Manager)是用于Redhat、CentOS、Fedora等Linux 分发版(distribution)的常见的软件包管理器。因为它允许分发已编译的软件,所以用户只用一个命令就可以安装软件。看到这篇文章的朋友想必已经知道RPM是个啥,rpm/yum命令怎么用,废话不多说,直接进入正题,来看看RPM包咋打。
最近的工作需要将以前编译安装的软件包打包成rpm包,这里将打包过程记录一下以备忘。 准备rpm打包环境 我这里用的操作系统是CentOS6.7,redhat系的其它发行版应该也类似。 安装rpm-build 1 sudo yum install -y gcc make rpm-build redhat-rpm-config vim lrzsz 创建必须的文件夹和文件 mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo '%_topdir %(
可以将编译完成的服务打成rpm包放到私有仓库了,用于自定义的各种软件进行安装部署配置。
有时候需要测试特定版本的libvirt或者需要测试自己修改过的libvirt。这时候就需要重新编译libvirt,并做成yum源
rpmbuid是用于制作rpm格式包的工具。rpm 4.4.x版本之前,rpmbuid工具默认的工作车间为/usr/src/redhat,所以造成普通用户不能制作rpm包。rpm 4.5.x版本开始,将rpmbuid工具默认的工作车间为$HOME/rpmbuild(用户家目录),并且推荐用户尽量不用root账号制作rpm包。
CentOS7下制作OpenSSH 8.4p1 RPM包 1、准备条件 1)openssh-8.4p1.tar.gz源码包 https://ftp.openbsd.org/pub/OpenBSD/O
摘要:rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。不需要再进行繁琐的编译等操作,拿来就能用,区别于yum包管理,rpm可以在不需要网络环境的情况下使用。学习完大神的文章还是有一些细节不太清楚,下面我就再对编译RPM包的过程和详细知识点再梳理扩展一下留作备忘。
如果需要利用service来控制Nginx,SOURCES路径中还需要准备一个nginx启动程序:
0、安装rpmbuild工具包 yum -y install rpm-build rpm-devel rpmdevtools mkdir -p /root/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} 1、创建原始文件 mkdir /root/rpmbuild/SOURCES/eee-1.0 2、创建需要打包的文件 3、在SOURCES目录下打包文件 tar cvf eee-1.0.tar.gz eee-1.0 4、构建RPM中的spec配置文件 Name:
环境# iSoftserver-v4.2(Centos-7) openssl version:1.0.2k 编译# 从github上看到的编译脚本,本地修改后: #!/bin/bash set -e set -v mkdir ~/openssl && cd ~/openssl yum -y install \ curl \ which \ make \ gcc \ perl \ perl-WWW-Curl \ rpm-build # Get open
OpenCloudOS 操作系统开源社区是由操作系统、软硬件厂商与个人共同倡议发起的操作系统社区项目,为用户提供自主可控、绿色节能、安全可靠、高性能的下一代云原生操作系统,目前社区理事单位已达 31家,联接生态伙伴达 500+家,OpenCloudOS 操作系统将与众多生态伙伴一起打造面向未来开放中立的操作系统开源生态。
不同公司有不同的规范来约束各种linux系统软件安装的路径以及相关配套设施。因此我们可以基于各自的 规范 使用rpm 将各种软件的二进制文件打包来满足各自的定制化需求。本文通过 安装vmtouch软件包,来介绍RPM的相关知识。
之前在安装nova-compute服务时,遇到了nova-compute服务要求qemu-kvm >= 2.9.0的依赖问题,但是对应版本的操作系统仅有2.7.0的安装包,所以利用这次机会学习了一下如何自己构建openstack nova rpm包,并把相关的步骤记录了下来。
#清除缓存 yum clean all 安装rpm-build yum install rpm-build make rsync cd rpmbuild/ ll #将源码到/root/rpmbuild/BUILDROOT/目录下,删除隐藏文件.vscode #进入/root/rpmbuild/SPECS/,编辑打包脚本test.spec cd /root/rpmbuild/SPECS/ vi test.spec Name: test Version:
atop是一款开源的性能监测工具,atop是以一定的频率记录系统的运行状态,所采集的数据包含系统资源(CPU、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中
设置系统环境 sed -i '/SELINUX/s/enforcing/disabled/g' /etc/selinux/config setenforce 0 systemctl stop firewalld.service systemctl disable firewalld.service 安装环境依赖 yum install -y python-six selinux-policy-devel gcc make python-devel openssl-devel kernel-devel gra
怎样制作RPM包 摘要 我在网上找RPM包的制作例子几乎都是C源码编译安装然后生成RPM包, 而我的程序不是C写的很多时候是脚本语言如Python, PHP 甚至是 HTML文件。怎样制作RP
http://vault.centos.org/6.5/os/Source/SPackages/kernel-2.6.32-431.el6.src.rpm
写在前面:本次测试环境是linux 7.4 (redhat,centos,oracle linux).linux6也行,只是服务管理方式不同而已.
标题:Centos7安装ovs 作者:Eric1997 地址:https://www.zhangyongzhao.site/articles/2020/10/09/1602222465426.html QQ:
1.将源码包打包成RPM包 RPM包构成: -metadata元数据:版本,软件名称,依赖关系,发布日期 -file 文件:RPM所需所有文件的打包文件 scripts脚本:安装后,卸载后需要运行的脚本 软件打包流程:准备源码软件-安装rpm-build-编写编译配置文件-编译RPM包
OpenSSL官方发布了拒绝服务漏洞风险通告,漏洞编号为CVE-2020-1971
本周做了较多的国产化适配工作,虽然主要是拿到源码在国产化平台上编译一下,不是太难,但还是总结一下。
RPM全称是 Red Hat Package Manager(Red Hat包管理器-红帽创建的一个开放的软件包管理系统)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件,现在已成为一种标准,常用在opensuse/turbo/redhat版本,
墨墨导读:本文详细介绍一键式安装部署,定制化制作MySQL RPM包的过程,希望可以帮助到读者朋友 。
第一步:下载 samba 的源码包 http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/14/Everything/source/SRPMS/ 下载文件: system-config-samba-docs-1.0.9-1.fc14.src.rpm system-config-samba-0.99.47-1.fc14.src.rpm 名称跟这个差不多的就可以,最好是下载最新的版本 第二步:安装 rpm-build 的编译工具,目的是编译 rpm 包。 yum install -y rpm-build 第三步:对源码包进行编译 rpmbuild --rebuild system-config-samba-0.99.47-1.fc14.src.rpm rpmbuild --rebuild system-config-samba-docs-1.0.9-1.fc14.src.rpm 注意:在编译过程中会提示错误信息,请根据对应的提示安装对应的依赖包, 安装完执行同样的命令进行安装。 在此rpmbuild/RPMS/noarch/目录下会生成对应的包,以.rpm结尾 第四步:安装编译好的包,如下,实际可能名称不同 rpm -ivh system-config-samba-1.2.90-1.el6.noarch.rpm system-config-samba-docs-1.0.9-1.el6.noarch.rpm 第五步:经过一系列的安装配置,下一步就是打开 samba 的图形化界面了 执行命令 system-config-samba/sudo system-config-samba
感觉至少两年没有安装过mysql了,今天同事指定安装一个mysql5.7.29遇到问题,安装了一次,稍显折腾,做个记录。
看这篇文章的人基本都有一个想法,就是:“劳资不想用YUM的安装!不是版本太低就是文件分布太野路子”,此时我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,其中的Spec文件是制作RPM包的核心。
Singularity 提供了几种安装方式,这里选择使用编译 rpm 包的方式来安装。
需要添加的插件:Gitlab Hook、Build Authorization Token Root、Gitlab Authentication、Gitlab
在ceph的研发群里看到一个cepher提出一个问题,编译的ceph的二进制文件过大,因为我一直用的打包好的rpm包,没有关注这个问题,重新编译了一遍发现确实有这个问题
(一) lvs-fullnat fullnat模式的性能虽然不如dr模式,但是,fullnat支持多vlan,再rs是不同的vlan的情况下,明显使用fullnat是很好的选择。 fullnat的基本原理:假定用户端的ip是cip,vs上有两个ip,一个是vip,还有lip,lip可以是不同网段的一组ip,rs的ip为rip,当客户请求进来,经过vs的时候,再vs出发生一次snat,将cip转化成lip,再由vs到rs的时候又发生了一次dnat,将vip转化成rip,同样的请求返回时,也经历了两次nat,所以一共经历4次nat,从而达到了可以支持多vlan的情况。 client (cip) ---> vs (vip,lip) ---> rs (rip) <--- <--- 但是在这种情况下,只有一台vs,会导致该vs的负载过大,加入keepalived也只能提高稳定性,并不能解决高吞吐量的问题,因此一般会进行一个lvs集群,keepalived可以对rs进行健康检查,在lvs集群前面加上一个路由器或者交换机,使用ospf协议,用户请求到达路由器(或者交换机)后,通过原地址、端口和目的地址、端口的hash,将链接分配到集群中的某一台LVS上,LVS通过内网向后端转发请求,后端再将数据返回给用户,整个会话完成。rs之间的session表要定期同步,以防止其中一个rs出现问题而造成session丢失的情况。 fullnat模式要重新编译内核,下面是步骤: 一 编译内核: 1 从官网上下载rpm源码包,并用rpmbuild重新编译为二进制包 kernel-2.6.32-220.23.1.el6.src.rpm Lvs-fullnat-synproxy.tar.gz 网址:kb.linuxvirtualserver.org 1 rpm -ivh kernel-2.6.32-220.23.1.el6.src.rpm ###安装rpm包### 2 cd rpmbuild/ ###安装完后会在当前目录下 3 yum install -y rpm-build 4 cd /root/rpmbuild/SPECS/ 5 rpmbuild -bp kernel.spec ###解开源码打补丁### ************************************************************************** 6 yum install redhat-rpm-config patchutils xmlto asciidoc binutils-devel newt-devel python-devel perl-ExtUtils-Embed hmaccalc ###依赖性### ************************************************************************** 7 yum install asciidoc-8.4.5-4.1.el6.noarch.rpm newt-devel-0.52.11-3.el6.x86_64.rpm slang-devel-2.2.1-1.el6.x86_64.rpm cd rpmbuild/SPECS/ ************************************************************************** 8 rpmbuild -bp kernel.spec ###解决完依赖性后再次解开源码打补丁### 9 tar zxf Lvs-fullnat-synproxy.tar.gz 10 cd lvs-fullnat-synproxy/ 11 cp lvs-2.6.32-220.23.1.el6.patch ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/ 12 cd ~/rpmbuild/BUILD/kernel-2.6.32-220.23.1.el6/linux-2.6.32-220.23.1.el6.x86_64/ 13 patch -p1 < lvs-2.6.32-220.23.1.el6.patch ###打补丁### 14 vim Makefile 内容: EXTRAVERSION = -220.23.1.el6 ###扩展版本,你所编译的版本### 15 make 16 make modules_install ###安装模块 17 make i
以前装的Singularity版本比较低,最近要用新功能,只能升级了。因为以前Singularity安装的时候是使用自己编译的rpm安装的,所以要安装新版本,需要先卸载已安装的老版本。
8 月 24 日,Qemu更新安全补丁修复了一个虚拟机逃逸漏洞(CVE-2020-14364),此漏洞为QEMU USB模拟器中的数组越界读写造成,漏洞位于 ./hw/usb/core.c 中,当程序处理来自客户机的USB数据包时,如果在 do_token_in 与 do_token_out中'USBDevice->setup_len'超过了USBDevice->data_buf[4096],则存在此问题。越界后读取某一个堆之后 0xffffffff 的内容,从而强行终止虚拟化进程,进而实现虚拟机逃逸。
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。使用rpm安装软件和管理软件非常的方便。而这节我们不是介绍如何使用rpm安装或管理软件,而是如何把源码制作成rpm包。 下面我们以制作nginx的rpm开始介绍其制作方法。以下操作在centos-7进行。 制作nginx的rpm例子 建立目录结构 /usr/src/redhat/SOURCES — 存放源代码,补丁
最近升级了一版 kubelet,修复因 kubelet 删除 Pod 慢导致平台删除集群超时的问题。在灰度 redis 隔离集群的时候,发现升级 kubelet 并重启服务后,少量宿主状态变成了 NotReady,并且回滚 kubelet 至之前版本,宿主状态仍然是 NotReady。查看宿主状态时提示 ‘container runtime is down’ ,根据经验,此时一般就是容器运行时出了问题。弹性云使用的容器运行时是 docker,我们就去检查 docker 的状态,检测结果如下:
最近升级了一版kubelet,修复因kubelet删除Pod慢导致平台删除集群超时的问题。在灰度redis隔离集群的时候,发现升级kubelet并重启服务后,少量宿主状态变成了NotReady,并且回滚kubelet至之前版本,宿主状态仍然是NotReady。查看宿主状态时提示 ‘container runtime is down’ ,根据经验,此时一般就是容器运行时出了问题。弹性云使用的容器运行时是docker,我们就去检查docker的状态,检测结果如下:
Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的初期培训就是做的这些学习,为什么在网上已经有这么多文章的情况下,还要写一篇关于内核的文章,这是因为,我想讲的是如何去选择内核 一般来说,找内核的时候都会去下面这个网站进行选择
CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL5.7之前为了避免发生冲突首先删除MariaDB。 # rpm -qa | grep maria
我们管理CVM服务器的时候经常需要远程登录服务器。直接Telnet已经比较少人用了,大家比较广泛的使用ssh,再配合上证书或者高强度的密码登录,这样虽然安全了很多,但是把ssh端口暴露在外网仍然会召来
1. location / {} 2. location /abc {} #高优先级
领取专属 10元无门槛券
手把手带您无忧上云