久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

實(shí)戰(zhàn)演練:MySQL RPM包定制化制作全過程

 數(shù)據(jù)和云 2020-07-01

墨墨導(dǎo)讀:本文詳細(xì)介紹一鍵式安裝部署,,定制化制作MySQL RPM包的過程,,希望可以幫助到讀者朋友 ,。

在部署MySQL的時(shí)候,,經(jīng)常用RPM包簡(jiǎn)易安裝,。非???,也非常有效,。
rpm的全稱是Redhat Package Manager,,有五種基本的操作功能:安裝、卸載,、升級(jí),、查詢和驗(yàn)證。

linux軟件包分為兩大類:
(1)二進(jìn)制類包,,包括rpm安裝包(一般分為i386和x86等幾種)
(2)源碼類包,,源碼包和開發(fā)包應(yīng)該歸位此類(.src.rpm)。
通過官網(wǎng)提供rpmbuild工具,,可自行打包軟件,。下面是制作過程,。

1

安裝工具包


因?yàn)樾枰ㄟ^源碼編譯,需要按照比較多的依賴包

yum install make gcc rpm-build rpmdevtools -yyum install make cmake gcc gcc-c++ bison libaio ncurses-devel perl perl-DBI perl-DBD-MySQL perl-Time-HiRes readline-devel numactl zlib-devel curldevel

2

初始化目錄結(jié)構(gòu)

mkdir -p /opt/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}[root@ss30 ~]# ll rpmbuild/total 0drwxr-xr-x 3 root root 25 Jul 26 20:51 BUILDdrwxr-xr-x 2 root root  6 Jul 26 20:15 BUILDROOTdrwxr-xr-x 2 root root  6 Jul 26 20:15 RPMSdrwxr-xr-x 2 root root 65 Jul 26 20:51 SOURCESdrwxr-xr-x 2 root root 30 Jul 26 20:41 SPECSdrwxr-xr-x 2 root root  6 Jul 26 20:15 SRPM

3

下載源碼包

1)下載mysql 源碼:
https://downloads.mysql.com/archives/community/
把下載源碼包 放到/root/rpmbuild/SOURCES & 同時(shí) 把 my.cnf文件也要拷貝放到 目錄下:

2)Mysql5.6后都要依賴boost_1_59_0.tar.gz包,,所以這里我直接解壓到BUILD目錄下,,不然檢測(cè)不到;
下載地址如下:
https://www./users/history/version_1_59_0.html


4

配置文件

[root@CS20190727 SPECS]# cat mysql5.7.26.specName: mysqlVersion: 5.7.26Release: 1%{?dist}License: GPLURL: http://downloads.mysql.com/archives/get/file/mysql-5.7.26.tar.gzGroup: applications/databaseSource: %{name}-%{version}.tar.gzBuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)BuildRequires: cmakePackager: [email protected]Autoreq: no#Source: %{name}-%{version}.tar.gzprefix: /opt/rpm/mysql-%{version}Summary: MySQL 5.7.26

%descriptionThe MySQL(TM) software delivers a very fast, multi-threaded, multi-user,and robust SQL (Structured Query Language) database server. MySQL Serveris intended for mission-critical, heavy-load production systems as wellas for embedding into mass-deployed software.
%define MYSQL_USER mysql%define MYSQL_GROUP mysql
%prep%setup -n mysql-%{version}

%build
#CFLAGS="-O3 -g -fno-exceptions -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"#CXX=g++#CXXFLAGS="-O3 -g -fno-exceptions -fno-rtti -static-libgcc -fno-omit-frame-pointer -fno-strict-aliasing"#export CFLAGS CXX CXXFLAGS
cmake \-DCMAKE_INSTALL_PREFIX=%{prefix} \-DMYSQL_UNIX_ADDR=/data/mysql/mysql.sock \-DMYSQL_DATADIR=/data/mysql \-DMYSQL_TCP_PORT=3310 \-DSYSCONFDIR=/etc \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci \-DEXTRA_CHARSETS=all \-DWITH_ARCHIVE_STORAGE_ENGINE=1 \-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_FEDERATED_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \-DWITH_DEBUG=0 \-DENABLED_LOCAL_INFILE=1 \-DWITH_BOOST=../boost_1_59_0 \-Wno-dev
make -j `cat /proc/cpuinfo | grep processor| wc -l`
%installrm -rf %{buildroot}make install DESTDIR=%{buildroot}cp %{_sourcedir}/my.cnf $RPM_BUILD_ROOT%{prefix}/

%pregroupadd mysqluseradd -g mysql -s /bin/nologin -M mysql >/dev/null 2>&1
mkdir -p /datamkdir -p /data/mysqlmkdir -p /data/mysqltmpmkdir -p /data/dbdata
chown -R mysql:mysql /datachmod 700 /data/mysqltmp
%post/bin/cp %{prefix}/support-files/mysql.server /etc/init.d/mysql/bin/cp %{prefix}/my.cnf %{_sysconfdir}/my.cnfchkconfig mysql on%{prefix}/bin/mysqld --initialize-insecure --basedir=%{prefix} --datadir=/data/mysql --user=mysqlservice mysql startchown -R mysql:mysql /data/mysqlecho "export PATH=.:\$PATH:%{prefix}/bin;" >> ~/.bash_profilesource ~/.bash_profile
%preunservice mysql stopchkconfig --del mysqluserdel -r mysql >/dev/null 2>&1rm -rf %{prefix} >/dev/null 2>&1rm -rf /data/mysql >/dev/null 2>&1rm -rf /etc/init.d/mysql >/dev/null 2>&1
%files%defattr(-, %{MYSQL_USER}, %{MYSQL_GROUP})%attr(755, %{MYSQL_USER}, %{MYSQL_GROUP}) %{prefix}/*
%changelog

Name: 軟件包的名稱,,后面可使用%{name}的方式引用
Summary: 軟件包的內(nèi)容概要
Version: 軟件的實(shí)際版本號(hào),,例如:1.0.1等,后面可使用%{version}引用
Release: 發(fā)布序列號(hào),,例如:1linuxing等,,標(biāo)明第幾次打包,后面可使用%{release}引用
Group: 軟件分組,,建議使用標(biāo)準(zhǔn)分組
License: 軟件授權(quán)方式,,通常就是GPL
Source: 源代碼包,可以帶多個(gè)用Source1,、Source2等源,,后面也可以用%{source1}、%{source2}引用
BuildRoot: 這個(gè)是安裝或編譯時(shí)使用的“虛擬目錄”
URL: 軟件的主頁
Vendor: 發(fā)行商或打包組織的信息,,例如RedFlag Co,Ltd
Disstribution: 發(fā)行版標(biāo)識(shí)
Prefix: %{_prefix} 這個(gè)主要是為了解決今后安裝rpm包時(shí)
%description 軟件的詳細(xì)說明

%build 開始構(gòu)建包
%install 開始把軟件安裝到虛擬的根目錄中
%clean 清理臨時(shí)文件
%files 定義那些文件或目錄會(huì)放入rpm中
%changelog 變更日志
%setu安裝p -n %{name}-%{version} 把源碼包解壓并放好
%pre rpm前執(zhí)行的腳本
%post rpm安裝后執(zhí)行的腳本
%preun rpm卸載前執(zhí)行的腳本
%postun rpm卸載后執(zhí)行的腳本

5

執(zhí)行命令打包

[root@ss30 ~]# cd  /root[root@ss30 ~]# rpmbuild -bb rpmbuild/SPECS/mysql5.7.26.spec


完成后在rpmbuild/RPM目錄下就會(huì)兩個(gè)rpm包


6

rpm安裝MySQL

直接安裝,,安裝完成后會(huì)直接啟動(dòng)Mysql:

7

參考

錯(cuò)誤處理:
rpmbuild 構(gòu)建rpm包時(shí)報(bào)錯(cuò)解決 error: Installed (but unpackaged) file(s) found:
解決的辦法:
找到 /usr/lib/rpm/macros 中
%__check_files     /usr/lib/rpm/check-files %{buildroot}   注釋掉
文檔:
https://wiki./HowTos/SetupRpmBuildEnvironment
https://blog.51cto.com/songhl/2152087
https://www./html/149.html
https://docs./en-US/packaging-guidelines/RPMMacros/
墨天輪原文鏈接:https://www./db/25614(復(fù)制到瀏覽器中打開或者點(diǎn)擊“閱讀原文”)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多