首页 文章 精选 留言 我的

精选列表

搜索[模块打包器],共10000篇文章
优秀的个人博客,低调大师

【编译打包】Atlas-2.2.1-2.el7.centos.src.rpm

Atlas 是奇虎360 开源的一个数据库中间件,基于mysql-proxy,做了大量改造,是一个适合国情的高性能的mysql中间件。 官方提供源码下载和rpm下载,但是发现没有SRPM源码包,于是研究了一番,发现了不少问题,自行实现了spec文件,主要解决如下问题: 1、依赖包问题 2、实现了标准的init脚本,去掉了丑陋的mysql-proxyd 3、使用普通用户权限运行mysql-proxy 4、同时支持CentOS 6和CentOS 7 5、文件路径按照Linux 目录树标准FHS进行分布(/usr/local不符合rpm规范) 6、支持开发包(github上有人提问找不到头文件) 本着GPL精神,我希望将成果贡献给官方,以改进安装体验。Atlas.spec文件内容如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 %global_enable_debug_package0 %globaldebug_package%{nil} %global__os_install_post/usr/lib/rpm/brp-compress%{nil} Name:Atlas Version:2.2.1 Release:2%{?dist} Summary:AProxyfortheMySQLClient/Serverprotocol License:GPL URL:https://github.com/Qihoo360/Atlas Source0:%{name}-%{version}.tar.gz Source1:mysql-proxy.cnf Source2:mysql-proxy.init BuildRequires:flex,libtool BuildRequires:glib2-devel>=2.32.0 BuildRequires:jemalloc-devel BuildRequires:libevent-devel BuildRequires:lua-devel>=5.1 BuildRequires:mysql-devel BuildRequires:openssl-devel BuildRequires:pkgconfig Requires:openssl Requires:jemalloc Requires:mysql Requires:lua>=5.1 Requires:glib2 Conflicts:mysql-proxy ExcludeArch:x86 %description AtlasisaMySQLprotocol-baseddatabasemiddlewareprojectdeveloped andmaintainedbyinfrastructureteamoftheWebplatformDepartment inQIHU360SOFTWARECO.LIMITED(NYSE:QIHU).Itfixedlotsofbugsand addedlotofnewfunctionsonthebasisofMySQL-Proxy0.8.2. CurrentlytheprojecthasbeenwidelyappliedinQIHU, manyMySQLbusinesshasconnectedtotheAtlasplatform. ThenumberofreadandwriterequestsforwardedbyAtlashasreachedbillions. %packagedevel Summary:DevelopmentfilesforAtlas Requires:Atlas=%{version}-%{release} %descriptiondevel DevelopmentfilesforAtlas %prep %setup-q %build %configure\ --with-lua\ CFLAGS="$CFLAGS-DHAVE_LUA_H"\ LDFLAGS="$LDFLAGS-lm-ldl-lcrypto-ljemalloc" make%{?_smp_mflags} %install rm-rf$RPM_BUILD_ROOT %{__make}DESTDIR=$RPM_BUILD_ROOTinstall %{__mkdir}-p$RPM_BUILD_ROOT%{_localstatedir}/log/mysql-proxy %{__mkdir}-p$RPM_BUILD_ROOT%{_sysconfdir}/mysql-proxy %{__mkdir}-p$RPM_BUILD_ROOT%{_initrddir} %{__install}-m644-p%{SOURCE1}\ $RPM_BUILD_ROOT%{_sysconfdir}/mysql-proxy/mysql-proxy.cnf %{__install}-m755%{SOURCE2}\ $RPM_BUILD_ROOT%{_initrddir}/mysql-proxy %clean %{__rm}-rf$RPM_BUILD_ROOT make-sclean %pre getentgroupmysql>/dev/null||groupadd-g27-o-rmysql getentpasswdmysql>/dev/null||\ useradd-u27-M-N-o-r-gmysql-s/bin/bash\ -d/var/lib/mysqlmysql exit0 %post ldconfig chkconfig--addmysql-proxy||: #fixlibpath %{__ln_s}-f%{_libdir}/mysql-proxy/usr/lib/mysql-proxy||: %postun ldconfig chkconfig--delmysql-proxy||: unlink/usr/lib/mysql-proxy||: %files %defattr(-,root,root,-) %{_bindir}/mysql-proxy %{_bindir}/encrypt %{_bindir}/mysql-binlog-dump %{_bindir}/mysql-myisam-dump %exclude%{_bindir}/mysql-proxyd %config(noreplace)%{_sysconfdir}/mysql-proxy/mysql-proxy.cnf %{_initrddir}/mysql-proxy %dir%attr(0755,mysql,mysql)%{_localstatedir}/log/mysql-proxy %dir%{_libdir}/mysql-proxy %{_libdir}/mysql-proxy/lua/* %{_libdir}/mysql-proxy/plugins/* %{_libdir}/libmysql-* %{_libdir}/libsql-* %docexamples/ %filesdevel %defattr(-,root,root,-) %{_includedir}/*.h %{_libdir}/pkgconfig/mysql-chassis.pc %{_libdir}/pkgconfig/mysql-proxy.pc %changelog *ThuDec32015PurpleGrape<purplegrape4@gmail.com>-2.2.1-2 -fixlibpath *ThuNov262015PurpleGrape<purplegrape4@gmail.com>-2.2.1-1 -freshbuild 注: 1、官方只提供el6的rpm包,但是在CentOS 6上编译,会有依赖不足的问题,glib2版本必须大于2.32.0(CentOS 6官方自带的是2.28.8),于是我将cenots 7的glib2 (2.40.0版本)向下移植到了centos 6,用于解决依赖问题。具体见下面的链接。 本文转自 紫色葡萄 51CTO博客,原文链接:http://blog.51cto.com/purplegrape/1717054,如需转载请自行联系原作者

优秀的个人博客,低调大师

net core 程序docker打包镜像并发布到官方store

学习一个技术的第一步,总是要先打印或显示一个hello world的。当然,学习docker也不例外。上一篇文章已经简单的介绍了环境的安装和配置。接下来就要打印我们的hello world了。 首先我们来跑一跑官方的hello world程序 #运行官方的hello-world镜像,顺带可以检查一下安装配置是否有问题。 docker run hello-world 出来这个就基本差不多了。 centos: windows: 在接下来跑一个我们自己的。net core 版本的hello world vs2017 preview装起来先,然后创建一个控制台项目.项目右键 add ,选择docker support。添加项目对docker的支持 完事之后大约就这样子 为了发布方便,我们吧项目改一下名字,czd890 是我在docker 注册的账号。所以我所有发布的项目都发布到自己的命名空间下。 然后,我们在main方法里面写上我们的hello world static void Main(string[] args) { Console.WriteLine("Hello World!"); Console.WriteLine("in docker -- private registry"); } 在然后,选择release模式,rebuild我们的项目 就出来 我们来跑一跑我们自己的 hello world。 --rm参数表示run完了之后自动参数容器。这样子,我们docker ps -a 显示所有容器的时候,就不会看到一个超长列表了...... 在在然后,我们吧我们的镜像发布到官方 首先,我们需要登录我们的账号: 在接着,发布:  最后,在我们的centos中来跑一下我们刚才发布的czd890/hello-world镜像

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册