中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

裝修行業(yè)門戶網(wǎng)站模板交換友情鏈接

裝修行業(yè)門戶網(wǎng)站模板,交換友情鏈接,電腦怎么制作app,某女性門戶源碼含數(shù)據(jù)模板不錯(cuò)分類全適合做女性網(wǎng)站概述 由于最近客戶需要解決redis版本升級(jí)問題,故而全網(wǎng)尋找安全版本,redis7.4.x版本求而為果,只能自己編譯了。 截止發(fā)文時(shí)間2025-02-12 最新穩(wěn)定版的redis版本號(hào)為7.4.2 Security fixes (CVE-2024-46981) Lua script commands may lead t…

概述

? ? 由于最近客戶需要解決redis版本升級(jí)問題,故而全網(wǎng)尋找安全版本,redis7.4.x版本求而為果,只能自己編譯了。

截止發(fā)文時(shí)間2025-02-12 最新穩(wěn)定版的redis版本號(hào)為7.4.2

Security fixes

  • (CVE-2024-46981) Lua script commands may lead to remote code execution
  • (CVE-2024-51741) Denial-of-service due to malformed ACL selectors

Bug fixes

  • #13627?Crash on module memory defragmentation
  • #13338?Streams:?XINFO?lag field is wrong when tombstone is after the?last_id?of the consume group
  • #13473?Streams:?XTRIM?does not update the maximal tombstone, leading to an incorrect lag
  • #13470?INFO?after?HDEL?show wrong number of hash keys with expiration
  • #13476?Fix a race condition in the?cache_memory?of?functionsLibCtx
  • #13626?Memory leak on failed RDB loading
  • #13539?Hash: fix key ref for a hash that no longer has fields with expiration on?RENAME/MOVE/SWAPDB/RESTORE
  • #13443?Cluster: crash when loading cluster config
  • #13422?Cluster:?CLUSTER SHARDS?returns empty array
  • #13465?Cluster: incompatibility with older node versions
  • #13608?Cluster:?SORT ... GET #: incorrect error message

版本選擇

指導(dǎo)修復(fù)方案參考,這有助于選擇正確的版本。

云數(shù)據(jù)庫 Redis? 升級(jí)實(shí)例版本-操作指南-文檔中心-騰訊云?

實(shí)操步驟

1. 準(zhǔn)備宿主環(huán)境

尋找一個(gè)干凈的編譯環(huán)境,博主這里選擇虛擬機(jī)(vmware?16.2.5 build-20904516)

安裝Centos7(CentOS-7-x86_64-Minimal-1804)

其他版本也可,最好根據(jù)你需要的系統(tǒng)選擇。

2. 準(zhǔn)備打包環(huán)境


sudo yum update -y
sudo yum groupinstall "Development Tools" -y?
sudo yum install wget gcc make tcl rpm-build redhat-rpm-config -y

3. 獲取最新穩(wěn)定版的源代碼

(如果github直連存在問題,請(qǐng)自行魔法上網(wǎng))


wget https://github.com/redis/redis/archive/refs/tags/redis-7.4.2.tar.gz
tar -xzf redis-7.4.2.tar.gz
cd redis-7.4.2?

3. 編譯

make

(可選/推薦) 測(cè)試

make test

?

4. 安裝到臨時(shí)目錄

mkdir -p /tmp/redis-install

make PREFIX=/tmp/redis-install install

5. 創(chuàng)建RPM約束文件

(1) 創(chuàng)建 RPM 構(gòu)建目錄結(jié)構(gòu)

RPM 構(gòu)建需要特定的目錄結(jié)構(gòu):

mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

echo '%_topdir %(echo $HOME)/rpmbuild' > ~/.rpmmacros

?

6. 增加配置文件

?mkdir /tmp/redis-install/etc

cp redis-7.4.2/redis.conf /tmp/redis-install/etc/??

這里的redis.conf文件,可以根據(jù)你的需要,先把它修改下,基本上就是如下的內(nèi)容。

requirepass xxxx 是單機(jī)加密碼的部分,這里我給和諧掉了。

bind 0.0.0.0 ::1
protected-mode yes
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 300
daemonize no
pidfile /var/run/redis_6379.pid
loglevel notice
logfile /var/log/redis/redis.log
databases 16
always-show-logo no
set-proc-title yes
proc-title-template "{title} {listen-addr} {server-mode}"
locale-collate ""
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
rdb-del-sync-files no
dir /var/lib/redis
replica-serve-stale-data yes
replica-read-only yes
repl-diskless-sync yes
repl-diskless-sync-delay 5
repl-diskless-sync-max-replicas 0
repl-diskless-load disabled
repl-disable-tcp-nodelay no
replica-priority 100
acllog-max-len 128
requirepass 你的密碼
lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no
lazyfree-lazy-user-del no
lazyfree-lazy-user-flush no
oom-score-adj no
oom-score-adj-values 0 200 800
disable-thp yes
appendonly no
appendfilename "appendonly.aof"
appenddirname "appendonlydir"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
aof-load-truncated yes
aof-use-rdb-preamble yes
aof-timestamp-enabled noslowlog-log-slower-than 10000
slowlog-max-len 128
latency-monitor-threshold 0
notify-keyspace-events ""
hash-max-listpack-entries 512
hash-max-listpack-value 64
list-max-listpack-size -2
list-compress-depth 0
set-max-intset-entries 512
set-max-listpack-entries 128
set-max-listpack-value 64
zset-max-listpack-entries 128
zset-max-listpack-value 64
hll-sparse-max-bytes 3000
stream-node-max-bytes 4096
stream-node-max-entries 100
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit replica 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
dynamic-hz yes
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
jemalloc-bg-thread yes
?7.? 準(zhǔn)備規(guī)范文件 (SPEC)
創(chuàng)建一個(gè)規(guī)范文件(例如 redis.spec)
vim ~/rpmbuild/SPECS/redis.spec

(如果想添加編譯者的名字和聯(lián)系方式,可以在配置中給出)

內(nèi)容如下:?

Name: ? ? ? ? ? redis
Version: ? ? ? ?7.4.2
Release: ? ? ? ?1%{?dist}
Summary: ? ? ? ?An advanced key-value store

License: ? ? ? ?BSD
URL: ? ? ? ? ? ?https://redis.io/
Source0: ? ? ? ?redis-%{version}.tar.gz

BuildRequires: ?gcc make tcl
Requires: ? ? ? tcl

%description
Redis is an open-source, in-memory data structure store, used as a database, cache, and message broker.

%prep
%setup -q

%build
make

%install
rm -rf %{buildroot}
mkdir -p %{buildroot}/usr/local/bin
mkdir -p %{buildroot}/etc
mkdir -p %{buildroot}/var/lib/redis
mkdir -p %{buildroot}/lib/systemd/system

# 安裝二進(jìn)制文件
install -m 755 src/redis-server %{buildroot}/usr/local/bin/
install -m 755 src/redis-cli %{buildroot}/usr/local/bin/
install -m 755 src/redis-benchmark %{buildroot}/usr/local/bin/
install -m 755 src/redis-check-aof %{buildroot}/usr/local/bin/
install -m 755 src/redis-check-rdb %{buildroot}/usr/local/bin/

# 安裝配置文件
install -m 644 redis.conf %{buildroot}/etc/redis.conf

# 安裝 systemd 服務(wù)文件
install -m 644 redis.service %{buildroot}/lib/systemd/system/redis.service

%pre
# 檢查并備份舊版本的配置文件和數(shù)據(jù)目錄
if [ -f /etc/redis.conf ]; then
? ? # 備份配置文件
? ? cp /etc/redis.conf /etc/redis.conf.backup.%{version}
? ? echo "Old redis.conf backed up to /etc/redis.conf.backup.%{version}"
fi

if [ -d /var/lib/redis ]; then
? ? # 備份數(shù)據(jù)目錄
? ? tar -czf /var/lib/redis_backup_%{version}.tar.gz -C /var/lib redis
? ? echo "Old Redis data directory backed up to /var/lib/redis_backup_%{version}.tar.gz"
fi

# 刪除舊版本的服務(wù)文件(如果存在)
if [ -f /lib/systemd/system/redis.service ]; then
? ? rm -f /lib/systemd/system/redis.service
? ? systemctl daemon-reload
? ? echo "Old redis.service removed"
fi

%post
# 創(chuàng)建 Redis 用戶和組(如果不存在)
groupadd -f -r redis || : ?# 創(chuàng)建組,如果已存在則忽略錯(cuò)誤
useradd -r -g redis -s /bin/false -M redis || : ?# 創(chuàng)建用戶,指定組,禁用登錄

# 確保數(shù)據(jù)目錄存在并設(shè)置權(quán)限
mkdir -p /var/lib/redis
chown -R redis:redis /var/lib/redis
chmod 700 /var/lib/redis

# 增加一些補(bǔ)充動(dòng)作
chown redis:redis /etc/redis.conf
?
chown -R redis:redis ?/var/lib/redis/
??
mkdir -p /var/log/redis/
??
touch /var/log/redis/redis.log
??
chown -R redis:redis /var/log/redis/


touch /var/run/redis_6379.pid

chown redis:redis ?/var/run/redis_6379.pid

# 重新加載 systemd 配置并啟用 Redis 服務(wù)
systemctl daemon-reload
systemctl enable redis || : ?# 啟用服務(wù),忽略可能的錯(cuò)誤
systemctl start redis || : ?# 嘗試啟動(dòng)服務(wù)

%preun
if [ $1 -eq 0 ]; then
? ? # 卸載時(shí)停止并禁用 Redis 服務(wù)
? ? systemctl stop redis || : ?# 停止服務(wù),忽略可能的錯(cuò)誤
? ? systemctl disable redis || : ?# 禁用服務(wù),忽略可能的錯(cuò)誤

? ? # 刪除 Redis 服務(wù)文件
? ? rm -f /lib/systemd/system/redis.service
? ? systemctl daemon-reload || : ?# 重新加載 systemd 配置

? ? # 刪除 Redis 用戶和組(可選)
? ? userdel -r redis || : ?# 刪除用戶及其主目錄,忽略可能的錯(cuò)誤
? ? groupdel redis || : ?# 刪除組,忽略可能的錯(cuò)誤
fi

%files
/usr/local/bin/redis-server
/usr/local/bin/redis-cli
/usr/local/bin/redis-benchmark
/usr/local/bin/redis-check-aof
/usr/local/bin/redis-check-rdb
/etc/redis.conf
/lib/systemd/system/redis.service
/var/lib/redis/

%changelog
* Tue Feb 11 2025 你的名字 <你的郵箱> - 7.4.2-1
- Initial package for Redis 7.4.2 with configuration file, Tcl dependency, and systemd integration.
- Added backup functionality in %pre script.
?

在你的編譯好的文件中,添加 redis.serice, 內(nèi)容如下:

[Unit]
Description=Redis In-Memory Data Store
After=network.target[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always[Install]
WantedBy=multi-user.target
?8. 打包源碼成壓縮包

將 Redis 源碼打包為 .tar.gz 文件,并將其移動(dòng)到 SOURCES 目錄:

tar -czf ~/rpmbuild/SOURCES/redis-7.4.2.tar.gz redis-7.4.2/

9. 構(gòu)建RPM包

使用 rpmbuild 命令構(gòu)建 RPM 包:

rpmbuild -ba ~/rpmbuild/SPECS/redis.spec

?

?基本上到這里就結(jié)束了,如果環(huán)境一致,操作順暢的話,你將會(huì)在?/root/rpmbuild/RPMS/x86_64 下得到你想要的。

圖沒截,回頭想起來再補(bǔ)吧。

http://www.risenshineclean.com/news/9242.html

相關(guān)文章:

  • 做學(xué)徒哪個(gè)網(wǎng)站好周口搜索引擎優(yōu)化
  • wap網(wǎng)站e4a做appseo上首頁排名
  • 科訊網(wǎng)站首頁公告模板吉林seo外包
  • 北京網(wǎng)站建設(shè)網(wǎng)絡(luò)公司5118和百度指數(shù)
  • php手機(jī)網(wǎng)站如何制作google怎么推廣
  • vs2019怎么創(chuàng)建網(wǎng)站每日一則小新聞
  • 騰訊云網(wǎng)站建設(shè)流程sem搜索引擎營銷
  • 寧波做網(wǎng)站價(jià)格網(wǎng)址域名
  • 網(wǎng)站建設(shè)合同內(nèi)容與結(jié)構(gòu)嗶哩嗶哩推廣網(wǎng)站
  • 鹽城網(wǎng)站app建設(shè)西安網(wǎng)站外包
  • 響應(yīng)式網(wǎng)站方案網(wǎng)站seo在線診斷
  • 大興網(wǎng)站開發(fā)網(wǎng)站建設(shè)哪家好谷歌搜索引擎入口
  • wordpress實(shí)訓(xùn)seo項(xiàng)目完整流程
  • 設(shè)計(jì)公司前十名aso排名優(yōu)化
  • 山東省兩學(xué)一做網(wǎng)站寫軟文怎么接單子
  • 網(wǎng)站做三屏合一百度一下電腦版網(wǎng)頁
  • 徐州睢寧網(wǎng)站建設(shè)seo教程搜索引擎優(yōu)化入門與進(jìn)階
  • 制作精美網(wǎng)站建設(shè)服務(wù)周到廣東東莞疫情最新情況
  • 女和男做搞基視頻網(wǎng)站國內(nèi)最新新聞事件
  • 龍巖建設(shè)局網(wǎng)站企業(yè)營銷策劃書如何編寫
  • 智慧團(tuán)建網(wǎng)站首頁網(wǎng)站推廣建站
  • 免費(fèi)的外鏈網(wǎng)站如何查看百度指數(shù)
  • 有沒有教做零食的網(wǎng)站百度推廣開戶怎么開
  • asp.net網(wǎng)站開發(fā)流程及相關(guān)工具2023近期輿情熱點(diǎn)事件
  • 創(chuàng)世網(wǎng)絡(luò)網(wǎng)站建設(shè)怎么樣太原百度公司地址
  • 剛備案的域名如何做網(wǎng)站營銷培訓(xùn)總結(jié)
  • 橙色網(wǎng)站配色品牌企業(yè)seo咨詢
  • 淘客自己的網(wǎng)站怎么做網(wǎng)頁怎么優(yōu)化
  • 貴陽市網(wǎng)站建設(shè)引流獲客app下載
  • 如何將自己做的網(wǎng)站放到網(wǎng)上去百度站內(nèi)搜索提升關(guān)鍵詞排名