国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【linux升級ssh】 利用rpmbuild工具對ssh打包為rpm包進(jìn)場安裝升級

這篇具有很好參考價值的文章主要介紹了【linux升級ssh】 利用rpmbuild工具對ssh打包為rpm包進(jìn)場安裝升級。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

制作rpm包

rpmbuild命令用于創(chuàng)建軟件的二進(jìn)制包和源代碼包。

官方文檔:rpm.org - RPM Reference Manual rpmbuild 中文手冊:rpmbuild 中文手冊 [金步國]

使用rpmbuild將tar包打成rpm包

RPM打包使用的是rpmbuild命令,這個命令來自rpm-build包,這個是必裝的。
#yum install rpm-build
當(dāng)然也可以直接安裝rpmdevtools,這個工具還包含一些其他的工具,同時它依賴rpm-build,所以直接安裝的話會同時把rpm-build裝上。
#yum install rpmdevtools
當(dāng)然,根據(jù)不同的軟件構(gòu)建過程,還需要其他的編譯打包工具,比如C語言的make、gcc,python的setuptools等,根據(jù)需要安裝即可

執(zhí)行如下命令來生成rpmbuild的工作目錄

#rpmdev-setuptree
提示:rpmdev-setuptree命令默認(rèn)將再當(dāng)前用戶主目錄下創(chuàng)建一個RPM構(gòu)建根目錄結(jié)構(gòu),如果需要改變次默認(rèn)位置,可以修改配置文件:~/.rpmmacros中變量_topdir對應(yīng)的值即可。
rpmbuild/
├── BUILD                   #打包過程中的工作目錄
├── BUILDROOT               
├── RPMS                    #存放生成的二進(jìn)制包
├── SOURCES                 #放置打包資源,包括源碼打包文件和補(bǔ)丁文件等
├── SPECS                   #放置SPEC文檔
└── SRPMS                   #存放生成的源碼包

編輯SPEC文件

SPEC撰寫是打包RPM的核心,也算是最難的一步,好在我們可以從參照一個簡單的模板文件開始,在可以實現(xiàn)基本功能的基礎(chǔ)上再一步一步的擴(kuò)充文檔內(nèi)容,直至完全達(dá)到要求。下面是一個簡單的SPEC文檔,其中包括了一些說明信息(注:#后面的內(nèi)容為說明信息),該SPEC文檔是對一個測試的軟件項目hellorpm寫的,hellorpm軟件包編譯后僅有一個執(zhí)行文件、一個手冊文件和一個項目說文件。 Emacs 和 vi 的最新版本有 .spec 文件編輯模式,它會在創(chuàng)建新文件時打開一個類似的模板。所以可使用以下命令來自動使用模板文件:

#cd ~/rpmbuild/SPECS
#vim hello.spec

相關(guān)資料:Redirect Notice How to create a GNU Hello RPM package/zh-cn - Fedora Project Wiki https://www.iteye.com/blog/hlee-3434994、構(gòu)建RPM包

構(gòu)建操作

開始構(gòu)建操作,首先進(jìn)入到當(dāng)前用戶的rpmbuild根目錄

#cd ~/rpmbuild/
#rpmbuild -ba SPECS/*.spec
提示:-ba表示build all,即生成包括二進(jìn)制包和源代碼包的所有RPM包,如果正常的話,rpmbuild將正常退出,同時在RPMS目錄和SRPMS目錄中將生成對應(yīng)的RPM包

openssh打包安裝

安裝服務(wù)和相關(guān)依賴
yum install zlib-devel openssl-devel gcc perl-devel pam-devel libXt-devel imake  gtk2-devel -y
yum install rpm-build
yum install rpmdevtools
到官網(wǎng)上下載對應(yīng)版本的源碼包
創(chuàng)建所需目錄
rpmdev-setuptree
把所需的包拷貝到該目錄下面
cd  /root/rpmbuild/
cp /root/openssh-8.8p1.tar.gz  . 
cp /root/openssh-8.8p1.tar.gz SOURCES
wget https://src.fedoraproject.org/repo/pkgs/openssh/x11-ssh-askpass-1.2.4.1.tar.gz
cp x11-ssh-askpass-1.2.4.1.tar.gz SOURCES
tar xf openssh-8.8p1.tar.gz 
#openssh會自帶.spec文件可根據(jù)linunx版本選擇配置文件
./openssh-8.8p1/contrib/redhat/openssh.spec
./openssh-8.8p1/contrib/suse/openssh.spec
修改配置文件
sed -i -e "s/%define no_x11_askpass 0/%define no_x11_askpass 1/g" openssh.spec 
sed -i -e "s/%define no_gnome_askpass 0/%define no_gnome_askpass 1/g" openssh.spec
構(gòu)建
rpmbuild -ba openssh.spec
?
/root/rpmbuild/RPMS/x86_64下查看構(gòu)建完成的rpm包

注:構(gòu)建完成后在備用的機(jī)器上側(cè)防止升級不成功導(dǎo)致無法登錄

報錯:
第一個報錯
/usr/include/X11/Xlib.h
error: Failed build dependencies: 
 ?  /usr/include/X11/Xlib.h is needed by openssh-8.8.p1-1.el7.x86_64
 ?  libXt-devel is needed by openssh-8.8.p1-1.el7.x86_64
 ?  imake is needed by openssh-8.8.p1-1.el7.x86_64
 ? ? ?  gtk2-devel is needed by openssh-8.8.p1-1.el7.x86_64
解決辦法
yum install libXt-devel imake gtk2-devel  openssl-libs -y
第二個報錯
openssl-devel < 1.1 被 openssh-8.8p1-1.el7.x86_64 需要
構(gòu)建依賴失敗:openssl-devel < 1.1 被 openssh-8.8p1-1.el7.x86_64 需要 解決方法:
?
[root@localhost SPECS]# vim openssh.spec 
注釋掉 BuildRequires: openssl-devel < 1.1 這一行
第三個報錯:
RPM build errors:
 ?  Installed (but unpackaged) file(s) found:
 ?  /usr/libexec/openssh/ssh-sk-helper
 ?  /usr/share/man/man8/ssh-sk-helper.8.gz
解決方法:
vi /usr/lib/rpm/macros
#%__check_files %{_rpmconfigdir}/check-files %{buildroot}
注釋改行
第四個報錯:
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.85UQUm (%build)
解決方法:

可能是時間不對更新時間,再重新試。

打包成功
Wrote: /root/rpmbuild/SRPMS/openssh-8.8p1-1.el7.src.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-8.8p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-clients-8.8p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-server-8.8p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-8.8p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-askpass-gnome-8.8p1-1.el7.x86_64.rpm
Wrote: /root/rpmbuild/RPMS/x86_64/openssh-debuginfo-8.8p1-1.el7.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.DTNijH
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd openssh-8.8p1
+ rm -rf /root/rpmbuild/BUILDROOT/openssh-8.8p1-1.el7.x86_64
+ exit 0
升級前的準(zhǔn)備(一定要進(jìn)行)

注:升級請做好備份,在備機(jī)上進(jìn)行測試,查看構(gòu)建的rpm包是否有問題

備份pam 文件

cp /etc/pam.d/{sshd,sshd.bak}
開始升級
yum install pango atk gtk2 libXt
rpm -Uvh openssh-*
出現(xiàn)的問題
如出現(xiàn)安裝完成后無法登錄情況
檢查/etc/ssh/下的文件或備份還原。
?
如出現(xiàn)安裝完成自己跳出登錄后無法登錄的情況
請檢查/root/rpmbuild/BUILD/openssh-8.8p1/sshd_config文件是否有問題(端口沒開或禁止登錄)
修改后重新構(gòu)建rpm包,再進(jìn)行升級。
?
sshd重啟報錯
修改sshd文件的權(quán)限
cd /etc/ssh/
chmod 400 ssh_host_ecdsa_key ssh_host_ed25519_key ssh_host_rsa_key
systemctl restart sshd
sshd 驗證
ssh -V
OpenSSH_8.8p1, OpenSSL 1.0.2k-fips ?26 Jan 2017

相關(guān)文檔:centos7 安裝openssh8.3 - 簡書文章來源地址http://www.zghlxwxcb.cn/news/detail-611107.html

到了這里,關(guān)于【linux升級ssh】 利用rpmbuild工具對ssh打包為rpm包進(jìn)場安裝升級的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux常見命令 25 - RPM包安裝、升級、卸載、查詢、校驗、提取

    Linux常見命令 25 - RPM包安裝、升級、卸載、查詢、校驗、提取

    目錄 1. 包名與包全名 2. RPM安裝 3. RPM包升級 4. RPM包卸載 5. 查詢是否安裝RPM包? 6. RPM包校驗 7.? RPM包中文件提取 1. 包名與包全名 包全名:操作的包是沒有安裝的軟件包時,使用包全名,而且要注意路徑 包名:操作已經(jīng)安裝的軟件包時,使用包名。是搜索 /var/lib/rpm/ 中的數(shù)據(jù)

    2024年02月04日
    瀏覽(56)
  • Linux如何將文件或目錄打成rpm包? -- fpm打包詳解

    Linux如何將文件或目錄打成rpm包? -- fpm打包詳解

    ????? 博主簡介 ????云計算領(lǐng)域優(yōu)質(zhì)創(chuàng)作者 ????華為云開發(fā)者社區(qū)專家博主 ????阿里云開發(fā)者社區(qū)專家博主 ?? 交流社區(qū): 運(yùn)維交流社區(qū) 歡迎大家的加入! ?? 希望大家多多支持,我們一起進(jìn)步!?? ??如果文章對你有幫助的話,歡迎 點贊 ???? 評論 ?? 收藏

    2024年01月23日
    瀏覽(21)
  • 【Linux】RPM包管理工具

    【Linux】RPM包管理工具

    人不走空 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 目錄 ? ????????個人主頁:人不走空?????? ??系列專欄:算法專題 ?詩詞歌賦:斯是陋室,惟吾德馨 1. RPM 包管理工具簡介 2. 常見 RPM 命令及其用法 2.1 安裝 RPM 軟件包 2.2 查詢

    2024年02月02日
    瀏覽(16)
  • linux離線升級ssh,升級到openssh8.8版本

    linux離線升級ssh,升級到openssh8.8版本

    服務(wù)器檢查漏洞,需要升級服務(wù)器ssh版本,從openssh7.4升級到openssh8.8,平滑升級ssh方法。 實際生產(chǎn)服務(wù)器是RedHat 7.6,我在vm虛擬機(jī)中搭建了centos7.6測試環(huán)境,前期也用了一個RedHat 7.6不理想,實際直接下載的紅帽是用不了的,需要注冊服務(wù)器,要用也能用安裝網(wǎng)上需要改一些東

    2024年02月14日
    瀏覽(26)
  • linux ssh7.4 升級至9.5(安全掃描漏洞處理)

    linux ssh7.4 升級至9.5(安全掃描漏洞處理)

    #漏洞處理# $ ssh -V 點擊?telnet-0.17-66.el7.x86_64.rpm進(jìn)行下載 點擊xinetd-2.3.15-14.el7.x86_64.rpm進(jìn)行下載 點擊telnet-server-0.17-66.el7.x86_64.rpm進(jìn)行下載 $ mkdir telnet $ cd telnet $ ls telnet-0.17-66.el7.x86_64.rpm ?xinetd-2.3.15-14.el7.x86_64.rpm telnet-server-0.17-66.el7.x86_64.rpm 3.1 安裝 $ cd telnet $ rpm -Uvh *.rpm --nodeps

    2024年02月05日
    瀏覽(21)
  • 實戰(zhàn)攻防演練-Linux寫入ssh密鑰,利用密鑰登錄

    實戰(zhàn)攻防演練-Linux寫入ssh密鑰,利用密鑰登錄

    密鑰形式登錄的原理是利用密鑰生成器制作一對密鑰,一只公鑰和一只私鑰。將公鑰添加到服務(wù)器的某個賬戶上,然后在客戶端利用私鑰即可完成認(rèn)證并登錄。這樣一來,沒有私鑰,任何人都無法通過 SSH 暴力破解你的密碼來遠(yuǎn)程登錄到系統(tǒng)。此外,如果將公鑰復(fù)制到其他賬

    2024年02月08日
    瀏覽(19)
  • Kubernetes 的包管理器工具—— Helm 使用指南:打包、安裝和升級 Kubernetes 中的應(yīng)用程序

    作者:禪與計算機(jī)程序設(shè)計藝術(shù) Helm 是 Kubernetes 的包管理器工具。Helm 可以幫助用戶管理復(fù)雜的 Kubernetes 應(yīng)用,通過 Charts 來打包、安裝和升級 Kubernetes 中的應(yīng)用程序。 1.1.1 Helm 安裝 Helm 的下載及安裝方式可以查看 官方文檔。 1.1.2 Helm 操作命令 Helm 提供了多個子命令用于管理

    2024年02月09日
    瀏覽(97)
  • 通過RPM方式安裝,升級,卸載,以及配置使用MySQL

    通過RPM方式安裝,升級,卸載,以及配置使用MySQL

    MySQL是一種開源的關(guān)系數(shù)據(jù)庫管理系統(tǒng),被廣泛應(yīng)用于各種業(yè)務(wù)應(yīng)用中。本文將講解如何下載和安裝MySQL的rpm安裝包。 下載rmp安裝包有多種方式: 1、官網(wǎng)下載 可以到 MySQL的官網(wǎng) 進(jìn)行下載。在下載頁面中選擇適合的版本和操作系統(tǒng),本文以CentOS 7為例,選擇Oracle Linux版本。最

    2024年02月15日
    瀏覽(25)
  • openeuler 22.03 制作openssh9.3p1 rpm升級包和升級實戰(zhàn)

    openeuler 22.03 默認(rèn)安裝的openssh 版本為8.8p1,經(jīng)綠盟掃描,存在高危漏洞,需要升級到最新。 官網(wǎng)只提供編譯安裝包,而openeuler 22.03 為rpm方式安裝。 為了方便升級,先通過編譯安裝包,制作rpm包,并進(jìn)行升級 如下為做好的rpm升級包,可直接下載使用: openssh 9.3p1 for bclinux eul

    2024年02月03日
    瀏覽(24)
  • Linux上安裝和使用SSH工具

    Linux上安裝和使用SSH工具

    SSH(Secure Shell,安全外殼)是一種網(wǎng)絡(luò)安全協(xié)議,通過加密和認(rèn)證機(jī)制實現(xiàn)安全的訪問和文件傳輸?shù)葮I(yè)務(wù),我們通過SSH可以很方便實現(xiàn)遠(yuǎn)程登錄以及文件傳輸?shù)裙ぷ鳌?下面記錄下如何在Debian/Ubuntu系統(tǒng)下實現(xiàn)SSH Server配置工作。 方法1:查看ssh服務(wù)狀態(tài) 執(zhí)行效果如下: 方法二:

    2024年02月11日
    瀏覽(14)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包