OpenCloudOS 操作系统开源社区是由操作系统、软硬件厂商与个人共同倡议发起的操作系统社区项目,为用户提供自主可控、绿色节能、安全可靠、高性能的下一代云原生操作系统,目前社区理事单位已达 31家,联接生态伙伴达 500+家,OpenCloudOS 操作系统将与众多生态伙伴一起打造面向未来开放中立的操作系统开源生态。
有时候需要测试特定版本的libvirt或者需要测试自己修改过的libvirt。这时候就需要重新编译libvirt,并做成yum源
写在前面:本次测试环境是linux 7.4 (redhat,centos,oracle linux).linux6也行,只是服务管理方式不同而已.
摘要:rpm包是预先在Linux主机上编译好并打包的文件,安装起来非常快捷。不需要再进行繁琐的编译等操作,拿来就能用,区别于yum包管理,rpm可以在不需要网络环境的情况下使用。学习完大神的文章还是有一些细节不太清楚,下面我就再对编译RPM包的过程和详细知识点再梳理扩展一下留作备忘。
不同公司有不同的规范来约束各种linux系统软件安装的路径以及相关配套设施。因此我们可以基于各自的 规范 使用rpm 将各种软件的二进制文件打包来满足各自的定制化需求。本文通过 安装vmtouch软件包,来介绍RPM的相关知识。
此链接 https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-25,找到 greatsql-8.0.32-25.tar.xz 下载GreatSQL源码包,放在上面创建的 /root/rpmbuild/SOURCES 目录下,并解压缩。
每每开发完一个程序,对于开发人员来说commit完代码就万事大吉了,实施和运维就只能骂一句仆街,然后硬着头皮去部署。
戳此链接 https://gitee.com/GreatSQL/GreatSQL/releases/tag/GreatSQL-8.0.32-25,找到 greatsql-8.0.32-25.tar.xz 下载GreatSQL源码包,放在上面创建的 /root/rpmbuild/SOURCES 目录下,并解压缩。
之前在安装nova-compute服务时,遇到了nova-compute服务要求qemu-kvm >= 2.9.0的依赖问题,但是对应版本的操作系统仅有2.7.0的安装包,所以利用这次机会学习了一下如何自己构建openstack nova 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 %(
Linux当中最核心的部分就是内核,这个也是最基础,最可能被忽视的一部分,随便找一个刚入职的运维,学习个两三天,网上找些资料也能能自己安装编译内核了,很多运维的初期培训就是做的这些学习,为什么在网上已经有这么多文章的情况下,还要写一篇关于内核的文章,这是因为,我想讲的是如何去选择内核 一般来说,找内核的时候都会去下面这个网站进行选择
第一步:下载 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
(一) 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
RPM(Redhat Package Manager)是用于Redhat、CentOS、Fedora等Linux 分发版(distribution)的常见的软件包管理器。因为它允许分发已编译的软件,所以用户只用一个命令就可以安装软件。看到这篇文章的朋友想必已经知道RPM是个啥,rpm/yum命令怎么用,废话不多说,直接进入正题,来看看RPM包咋打。
需求: 如何利用ISCSI协议保留字段, 在Initiator和Tgt端传递, 完成一些控制开关或其他管理功能 ?
RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.RPM扩展名的文件。使用rpm安装软件和管理软件非常的方便。而这节我们不是介绍如何使用rpm安装或管理软件,而是如何把源码制作成rpm包。 下面我们以制作nginx的rpm开始介绍其制作方法。以下操作在centos-7进行。 制作nginx的rpm例子 建立目录结构 /usr/src/redhat/SOURCES — 存放源代码,补丁
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,就需要手工运行这个命令。
linux内核有社区版本,升级和发布很快。redhat会选择一个内核版本构建自己的发行版,发行版除了内核还包括众多内核之上的软件如bash/gcc/glibc/systemd/开发库等等,redhat的策略是长期维护,只backport和bugfix升级小版本,并且保证任何backport和bugfix不影响原来的使用场景,比如升级内核小版本原来自己开发的内核模块代码不用修改,但在主线linux内核升级估计就得修改代码,再比如原来生产环境有一些脚本和配置文件,小版本升级后这些脚本和配置不用做任何修改,但不用redhat维护的版本,自己升级开源的版本恐怕升级后这些脚本和配置文件都未必能正常工作,维护周期结束后redhat会对大版本做一次升级,至少这个维护周期生产环境可以正常升级。所以生产环境都用redhat的企业版本linux,centos就是去掉商标后的redhat免费企业版,不想付费就用centos。
RPM全称是 Red Hat Package Manager(Red Hat包管理器-红帽创建的一个开放的软件包管理系统)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件,现在已成为一种标准,常用在opensuse/turbo/redhat版本,
OpenSSL官方发布了拒绝服务漏洞风险通告,漏洞编号为CVE-2020-1971
1、cpu benchmark:nbench wget http://www.math.utah.edu/~mayer/linux/nbench-byte-2.2.3.tar.gz tar zxvf nbench-byte-2.2.3.tar.gz cd nbench-byte-2.2.3 yum install glibc-static -y make ./nbench 2、内存测试工具:stream wget http://www.nersc.gov/assets/Trinity--NERSC-8-RFP/Benchmarks/Jan9/stream.tar tar xvf stream.tar gcc -o stream stream.c ./stream
以前装的Singularity版本比较低,最近要用新功能,只能升级了。因为以前Singularity安装的时候是使用自己编译的rpm安装的,所以要安装新版本,需要先卸载已安装的老版本。
我们管理CVM服务器的时候经常需要远程登录服务器。直接Telnet已经比较少人用了,大家比较广泛的使用ssh,再配合上证书或者高强度的密码登录,这样虽然安全了很多,但是把ssh端口暴露在外网仍然会召来
很多时候我们会想要把我们写的程序或者别人的源码变成rpm包,这样只需要一个rpm文件就可以安装好我们需要的程序了,方便管理而且应用程序直接在系统默认路径下,调用对应应用程序时很方便。
最近升级了一版 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的状态,检测结果如下:
墨墨导读:本文详细介绍一键式安装部署,定制化制作MySQL RPM包的过程,希望可以帮助到读者朋友 。
SRPM 包,比 RPM 包多了一个“S”,是“Source”的首字母,所以 SRPM 可直译为“源代码形式的 RPM 包”。也就是说,SRPM 包中不再是经过编译的二进制文件,都是源代码文件。可以这样理解,SRPM 包是软件以源码形式发布后直接封装成 RPM 包的产物。
tsunami-udp 是一款专为网络加速诞生的小工具。思路很简单,使用TCP进行传输控制、用UDP进行数据传输。
安装 rmp-build 包,它会附带安装其他必要的相关依赖包,并同步安装其他必要的软件包,如cmake、gcc等:
Apache Ambari是对Hadoop进行监控、管理和生命周期管理的基于网页的开源项目。它也是一个为Hortonworks数据平台选择管理组建的项目。Ambari支持管理的服务有: Apache HBase Apache HCatalog Apache Hadoop HDFS Apache Hive Apache Hadoop MapReduce Apache Oozie Apache Pig Apache Sqoop Apache Templeton Apache Zookeeper
Apache Ambari是对Hadoop进行监控、管理和生命周期管理的基于网页的开源项目。它也是一个为Hortonworks数据平台选择管理组建的项目。Ambari支持管理的服务有:
最近有同学问我制作RPM包相关的问题,我发现我以前做过,但是忘记记录了,现在记录一下:
Linux下的man命令十分实用,可以查看Linux命令的手册。但这些手册只适用于忘记命令的选项时查询之用,如果用来学习Linux下类似于Git, RPM这样庞大的工具就有点吃力了,可谓事倍功半。我在学习Git的时候读过一篇文档——gittutorial,使用: $man gittutorial 命令可以调出该文档。这篇文档并不涵盖git的方方面面,只是介绍了Git管理项目的常规用法,非常适合初学者快速入门。所以本文试图仿照该文档的写法,并不会详细地介绍RPM包的方方面面,而是介绍RPM包最常用的一
在Linux系统中,RPM包的制作是很困难的,其实使用工具就能快速制作RPM包,简单易学,下面小编就给大家介绍下Linux使用FPM制作RPM包的方法,感兴趣的朋友可以来了解一下。
CentOS7默认安装了和MySQL有兼容性的MariaDB数据库,在我们安装MySQL5.7之前为了避免发生冲突首先删除MariaDB。 # rpm -qa | grep maria
安装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
wget http://openvswitch.org/releases/openvswitch-1.2.2.tar.gz ;
可以将编译完成的服务打成rpm包放到私有仓库了,用于自定义的各种软件进行安装部署配置。
相对于VM,docker在其轻量、配置复杂度以及资源利用率方面有着明显的优势。 随着docker技术的不断成熟,越来越多的企业开始考虑通过docker来改进自己的IT系统。 本文列举一些docker的实际应用场景,以期能够起到抛砖引玉的作用, 来帮助大家更加方便的使用docker. 应用打包 制作过RPM、GEM等软件包的同学可能很清楚,每一个软件包依赖于哪个库的哪个版本, 往往需要明确的写在依赖列表里。而依赖又往往分为编译时依赖和运行时依赖。 在传统的基础设施环境下,为了保证所生成的软件包在其它机器上可正
CentOS7下制作OpenSSH 8.4p1 RPM包 1、准备条件 1)openssh-8.4p1.tar.gz源码包 https://ftp.openbsd.org/pub/OpenBSD/O
rpmbuid是用于制作rpm格式包的工具。rpm 4.4.x版本之前,rpmbuid工具默认的工作车间为/usr/src/redhat,所以造成普通用户不能制作rpm包。rpm 4.5.x版本开始,将rpmbuid工具默认的工作车间为$HOME/rpmbuild(用户家目录),并且推荐用户尽量不用root账号制作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
#清除缓存 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、内存、磁盘和网络)使用情况和进程运行情况,并能以日志文件的方式保存在磁盘中
在 鲲鹏 arm 环境下可以直接使用 yum 安装相关虚拟化组件(以 centos 为例):
Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
领取专属 10元无门槛券
手把手带您无忧上云