CentOS7離線安裝devtoolset-9並編譯redis6.0.5

来源:https://www.cnblogs.com/wdw984/archive/2020/07/17/13330761.html
-Advertisement-
Play Games

首先參照https://www.cnblogs.com/wdw984/p/13330074.html,來進行如何安裝Centos和離線下載rpm包。 離線下載jemalloc,上傳到CentOS的/data/rpm/jemalloc目錄 因為redis6.0.5推薦使用jemalloc管理記憶體,所以 ...


首先參照https://www.cnblogs.com/wdw984/p/13330074.html,來進行如何安裝Centos和離線下載rpm包。

離線下載jemalloc,上傳到CentOS的/data/rpm/jemalloc目錄

因為redis6.0.5推薦使用jemalloc管理記憶體,所以我們先安裝jemalloc,按照以下順序安裝rpm包

rpm -ivh audit-libs-python-2.8.5-4.el7.x86_64.rpm
rpm -ivh scl-utils-20130529-19.el7.x86_64.rpm
rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm
rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm
rpm -ivh libcgroup-0.41-21.el7.x86_64.rpm
rpm -ivh python-IPy-0.75-6.el7.noarch.rpm
rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm
rpm -ivh policycoreutils-python-2.5-34.el7.x86_64.rpm
rpm -ivh rh-varnish5-runtime-3.1-4.el7.x86_64.rpm
rpm -ivh rh-varnish5-jemalloc-5.0.1-2.el7.x86_64.rpm
rpm -ivh jemalloc-3.6.0-8.el7.centos.x86_64.rpm

去redis官網下載redis6.0.5的gz包(http://download.redis.io/releases/redis-6.0.5.tar.gz)

把下載的gz包上傳到CentOS中,比如/data/rpm目錄中

使用tar xzf redis-6.0.5.tar.gz解壓縮gz包,進入redis-6.0.5目錄,執行make命令

由於目前我們使用的gcc版本是4.8,所以在編譯redis6.05的時候會報錯

 

下麵我們安裝高版本的gcc來編譯它。

首先去下載devtoolset-9的rpm包,上傳到/data/rpm/devtoolset-9目錄中

 

按照以下順序安裝rpm文件

rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh cpp-4.8.5-39.el7.x86_64.rpm
rpm -ivh gcc-4.8.5-39.el7.x86_64.rpm
rpm -ivh scl-utils-20130529-19.el7.x86_64.rpm
rpm -ivh zip-3.0-11.el7.x86_64.rpm
rpm -ivh unzip-6.0-21.el7.x86_64.rpm
rpm -ivh libquadmath-4.8.5-39.el7.x86_64.rpm
rpm -ivh libgfortran5-8.3.1-2.1.1.el7.x86_64.rpm
rpm -ivh libgcc-4.8.5-39.el7.i686.rpm
rpm -ivh dwz-0.11-3.el7.x86_64.rpm
yum localinstall perl*.rpm
rpm -ivh python-srpm-macros-3-32.el7.noarch.rpm
rpm -ivh redhat-rpm-config-9.1.0-88.el7.centos.noarch.rpm
rpm -ivh avahi-libs-0.6.31-20.el7.x86_64.rpm
rpm -ivh boost-regex-1.53.0-28.el7.x86_64.rpm
rpm -ivh libcgroup-0.41-21.el7.x86_64.rpm
rpm -ivh audit-libs-python-2.8.5-4.el7.x86_64.rpm
rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm
rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm
rpm -ivh python-IPy-0.75-6.el7.noarch.rpm
rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm
rpm -ivh policycoreutils-python-2.5-34.el7.x86_64.rpm
rpm -ivh devtoolset-9-runtime-9.1-0.el7.x86_64.rpm
rpm -ivh devtoolset-9-elfutils-libelf-0.176-6.el7.x86_64.rpm
rpm -ivh devtoolset-9-elfutils-libs-0.176-6.el7.x86_64.rpm
rpm -ivh devtoolset-9-elfutils-0.176-6.el7.x86_64.rpm
rpm -ivh devtoolset-9-dyninst-10.1.0-4.el7.x86_64.rpm
rpm -ivh devtoolset-9-binutils-2.32-16.el7.x86_64.rpm
rpm -ivh devtoolset-9-memstomp-0.1.5-5.el7.x86_64.rpm
rpm -ivh devtoolset-9-oprofile-1.3.0-4.el7.x86_64.rpm
rpm -ivh devtoolset-9-dwz-0.12-1.1.el7.x86_64.rpm
rpm -ivh devtoolset-9-libstdc++-devel-9.3.1-2.el7.x86_64.rpm
rpm -ivh devtoolset-9-strace-5.1-7.el7.x86_64.rpm
rpm -ivh devtoolset-9-valgrind-3.15.0-9.el7.x86_64.rpm
rpm -ivh devtoolset-9-make-4.2.1-2.el7.x86_64.rpm
rpm -ivh devtoolset-9-ltrace-0.7.91-2.el7.x86_64.rpm
rpm -ivh boost-system-1.53.0-28.el7.x86_64.rpm
rpm -ivh devtoolset-9-systemtap-runtime-4.1-9.el7.x86_64.rpm
rpm -ivh efivar-libs-36-12.el7.x86_64.rpm
rpm -ivh mokutil-15-2.el7.centos.x86_64.rpm
rpm -ivh devtoolset-9-systemtap-client-4.1-9.el7.x86_64.rpm
rpm -ivh kernel-debug-devel-3.10.0-1127.13.1.el7.x86_64.rpm
rpm -ivh devtoolset-9-systemtap-devel-4.1-9.el7.x86_64.rpm
rpm -ivh devtoolset-9-systemtap-4.1-9.el7.x86_64.rpm
rpm -ivh devtoolset-9-perftools-9.1-0.el7.x86_64.rpm
rpm -ivh ctags-5.8-13.el7.x86_64.rpm
rpm -ivh devtoolset-9-gcc-9.3.1-2.el7.x86_64.rpm
rpm -ivh devtoolset-9-gcc-c++-9.3.1-2.el7.x86_64.rpm
rpm -ivh tcl-8.5.13-8.el7.x86_64.rpm

安裝完成後,運行scl enable devtoolset-9 bash在當前會話中啟用高版本的gcc

然後我們運行gcc --version就可以看到我們的gcc版本大於4.8了

如果要每次登錄都自動切換成高版本的gcc,需要運行一下 vi /etc/profile 在最後一行加入scl enable devtoolset-9 bash

然後我們在切換到redis6.0.5目錄,進行make,順利編譯完成

 

然後我們啟用網路(service network start),進行make test,通過測試

 

安裝(make install)並運行redis

 

運行redis-cli進行一下測試

 

至此,我們完成了離線編譯安裝redis6.0.5

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • DateTime,就是一個世界的大融合。 日期和時間,在我們開發中非常重要。DateTime在C#中,專門用來表達和處理日期和時間。 本文算是多年使用DateTime的一個總結,包括DateTime對象的整體應用,以及如何處理不同的區域、時區、格式等內容。 一、什麼是DateTime 跟我們想的不一 ...
  • ASP.NET中 params 是關鍵字,可以指定在參數數目可變處採用參數的方法參數。在函數的參數數目可變而執行的代碼差異很小的時候很有用! 在方法聲明中的 params 關鍵字之後不允許任何其他參數,並且在方法聲明中只允許一個 params 關鍵字。 形式為:方法修飾符 返回類型 方法名(para ...
  • When working with Web applications, use a context instance per request. Install-Package EntityFramework -Version using System.Data.Entity; public clas ...
  • 這是系列文章中的第一篇:使用GraphvizOnline可視化ASP.NETCore3.0終結點。. 第1部分-使用DOT語言來可視化你的ASP.NETCore3.0終結點(本文) 第2部分-向ASP.NET Core應用程式添加終結點圖 第3部分-使用ImpromptuInterface創建一個自 ...
  • Tips:本篇已加入系列文章閱讀目錄,可點擊查看更多相關文章。 前言 上一篇【.Net Core微服務入門全紀錄(八)——Docker Compose與容器網路】完成了docker-compose.yml文件的編寫,最後使用docker compose的一個up指令即可在docker中運行整個複雜的 ...
  • 背 景 Read the fucking source code! --By 魯迅 A picture is worth a thousand words. --By 高爾基 說明: Kernel版本:4.14 ARM64處理器,Contex-A53,雙核 使用工具:Source Insight 3 ...
  • 前言 ​ 最近公司里比較新的項目裡面,看到了很多關於java8新特性的用法,由於之前自己對java8的新特性不是很瞭解也沒有去做深入研究,所以最近就系統的去學習了一下,然後總結了一篇文章第一時間和大家分享一下。 ​ ​ 在瞭解一項新技術之前,我們需要瞭解我們為什麼要去學習它以及它的優點,以下是我總結 ...
  • TiDB 是 PingCAP 公司自主設計、研發的開源分散式關係型資料庫,是一款同時支持線上事務處理與線上分析處理 (Hybrid Transactional and Analytical Processing, HTAP)的融合型分散式資料庫產品,具備水平擴容或者縮容、金融級高可用、實時 HTAP... ...
一周排行
    -Advertisement-
    Play Games
  • 前言 插件化的需求主要源於對軟體架構靈活性的追求,特別是在開發大型、複雜或需要不斷更新的軟體系統時,插件化可以提高軟體系統的可擴展性、可定製性、隔離性、安全性、可維護性、模塊化、易於升級和更新以及支持第三方開發等方面的能力,從而滿足不斷變化的業務需求和技術挑戰。 一、插件化探索 在WPF中我們想要開 ...
  • 歡迎ReaLTaiizor是一個用戶友好的、以設計為中心的.NET WinForms項目控制項庫,包含廣泛的組件。您可以使用不同的主題選項對項目進行個性化設置,並自定義用戶控制項,以使您的應用程式更加專業。 項目地址:https://github.com/Taiizor/ReaLTaiizor 步驟1: ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • Channel 是乾什麼的 The System.Threading.Channels namespace provides a set of synchronization data structures for passing data between producers and consume ...
  • efcore如何優雅的實現按年分庫按月分表 介紹 本文ShardinfCore版本 本期主角: ShardingCore 一款ef-core下高性能、輕量級針對分表分庫讀寫分離的解決方案,具有零依賴、零學習成本、零業務代碼入侵適配 距離上次發文.net相關的已經有很久了,期間一直在從事java相關的 ...
  • 前言 Spacesniffer 是一個免費的文件掃描工具,通過使用樹狀圖可視化佈局,可以立即瞭解大文件夾的位置,幫助用戶處理找到這些文件夾 當前系統C盤空間 清理後系統C盤空間 下載 Spacesniffer 下載地址:https://spacesniffer.en.softonic.com/dow ...
  • EDP是一套集組織架構,許可權框架【功能許可權,操作許可權,數據訪問許可權,WebApi許可權】,自動化日誌,動態Interface,WebApi管理等基礎功能於一體的,基於.net的企業應用開發框架。通過友好的編碼方式實現數據行、列許可權的管控。 ...
  • 一、ReZero簡介 ReZero是一款.NET中間件 : 全網唯一開源界面操作就能生成API , 可以集成到任何.NET6+ API項目,無破壞性,也可讓非.NET用戶使用exe文件 免費開源:MIT最寬鬆協議 , 一直從事開源事業十年,一直堅持開源 1.1 純ReZero開發 適合.Net Co ...
  • 一:背景 1. 講故事 停了一個月沒有更新文章了,主要是忙於寫 C#內功修煉系列的PPT,現在基本上接近尾聲,可以回頭繼續更新這段時間分析dump的一些事故報告,有朋友微信上找到我,說他們的系統出現了大量的http超時,程式不響應處理了,讓我幫忙看下怎麼回事,dump也抓到了。 二:WinDbg分析 ...
  • 開始做項目管理了(本人3年java,來到這邊之後真沒想到...),天天開會溝通整理需求,他們講話的時候忙裡偷閑整理一下常用的方法,其實語言還是有共通性的,基本上看到方法名就大概能猜出來用法。出去打水的時候看到外面太陽好好,真想在外面坐著曬太陽,回來的時候好兄弟三年前送給我的鍵盤D鍵不靈了,在打"等待 ...