Linux:RPM 打包記錄
常見問題:
Q1、No Such File or Directory.
A1: 不同版本的Linux上會有不同版本的rpmbuild,它定義的%buildroot 路徑 有可能會不同,而且對於有些版本,在spec檔案中指定的%buildroot 並不會起作用,使得package過程中需要的sources所在目錄定位出錯。一般在低版本的rpmbuild上能成功package的spec檔案在其他較高版本上使用時會出現上述錯誤。
我們可以在spec檔案的 %install 塊中把打包所需的檔案和目錄 拷貝或移動 到現有版本指定的路徑下。
例如:
rpm 4.11中:%buildroot = %{_buildrootdir}/XXXX = %{_topdir}/BUILDROOT/%{name}-%{version}
rpm 4.3中 :%buildroot = spec檔案中指定,一般 = %{_topdir}/buildroot/%{name}-%{version}
可以使用如下方式進行區分:(注:本人使用redhat5和7)
(uname -r | grep -q "el7" #檢視Linux版本
if [[ $? -eq 0 ]] #如果是radhat7,則進行檔案的移動;如果不是,則不進行任何操作
then
mv $(dirname $(dirname %buildroot))/buildroot/* %buildroot/
fi
)
A2:指定的中間目錄的路徑和package時要求的不一致,更改儲存檔案的路徑一致即可。
Q2:file xxx conflict with xxx。
A1:spec檔案中的%files塊中指定檔案或目錄時使用的許可權和其他檔案中指定的不一致,解決方法如下:
1、使用 ll 命令檢視衝突檔案的許可權,
2、在spec檔案的%file塊中修改衝突檔案的許可權和上一步檢視到的一致即可:
%attr(555,root,sys) %dir /opt/hp93000/soc_hvmapi
spec檔案:
%file 設定應該捆綁到 RPM 中的檔案,並且能夠可選地設定捆綁檔案的許可權和其它資訊
%attr(755,root,sys) dir / file #將會覆蓋檔案或者目錄的所有者和許可權,有時候可以設定括號中的內容和原來的許可權相同來解決安裝rpm包時該目錄/檔案 衝突的問題
檢視RPM包中的內容:
rpm -qpl packagename
相關推薦
Linux:RPM 打包記錄
常見問題: Q1、No Such File or Directory. A1: 不同版本的Linux上會有不同版本的rpmbuild,它定義的%buildroot 路徑 有可能會不同,
Moblin:kernel編譯和rpm打包(二):RPM打包
RPM打包對於應用程式是十分有用的,可以下載,可以解除安裝,可以升級,可打補丁,可用於軟體的釋出和管理,以及以後可能的軟體store。如果我們使用MIC2,更換kenrel,如果需要製作的usbim
Linux學習筆記:rpm程序包管理
源代碼 rpm 程序包 以CentOS為例,rpm程序包管理器的相關內容如下:CentOS的程序包管理器: 程序包的命名規則: 源代碼包: software_name-VERSION.tar.gz VERSION:major.mino
Linux基礎管理——軟件包管理:rpm,yum高級使用方法(史上最全,沒有之一)
rpm yum 軟件包管理 yum倉庫 yum源地址配置 前言: GRU Linux操作系統中,實現軟件包管理的常見工具有RPM和yum;本專題將就Centos系統中安裝包的命名、校驗、密鑰導入導出、包安裝、卸載、升級、查詢等眾多rpm包管理相關的操作實現進行總結。1、安裝包1.1、
Linux下軟件安裝與卸載:rpm和yum工具
.rpm rhel enabled arch 發包 ble 功能 repos 簡潔 一、rpm工具 rpm命令是RPM軟件包的管理工具。rpm原本是Red Hat Linux發行版專門用來管理Linux各項套件的程序,由於它遵循GPL規則且功能強大方便,因而廣受歡迎。逐漸受
Linux Operation學習------SVN/RPM打包
用戶 自動提交 module 協作 -a 1.7 啟動 mat 下載 1、Subversion基本操作是一個自由/開源的版本控制系統(SVN)多人協作文檔並跟蹤所做的修改1.1基本概念:版本庫:是版本控制的核心;任意數量客戶端;客戶端通過寫數據庫分享代碼Subversion
linux:文件打包與壓縮
get 註意 RR 常用 bashrc .gz div 處理 文本文 學習內容來源: 實驗樓鏈接: https://www.shiyanlou.com/ 學習內容介紹:Linux 上常用的壓縮/解壓工具,介紹了zip、rar、tar的使用。 文件打包和壓縮Linux 上的壓
linux - mysql - 解除安裝:RPM包安裝方式的MySQL解除安裝
(1)檢查是否安裝了MySQL元件 [[email protected] init.d]# rpm -qa | grep -i mysql MySQL-devel-5.6.23-1.linux_glibc2.5 MySQL-client-5.6.23-1.linux_glibc2.5 MyS
Linux:yum(新增/刪除/更新RPM包)的詳細使用方法
yum是什麼 yum = Yellow dog Updater, Modified 主要功能是更方便的新增/刪除/更新RPM包. 它能自動解決包的倚賴性問題. 它能便於管理大量系統的更新問題 yum特點 可以同時配置多個資源庫(Repository) 簡潔的配置檔案(/etc/yum.conf 自動解決增
在Linux(CentOS)上打包應用程式RPM
在製作RPM安裝包的時候一般來講有兩種方式 1.使用RPMBUILD 使用RPMBUILD需要自己編寫*.spec檔案 2.使用CMake自帶的CPack工具 由於本人負責的專案都是使用CMake作為構建工具,所以優先考慮使有CPack作為打包工具 在
Linux在64位執行32位程式(安裝32位庫:rpm、deb)
記錄: ------------------------------------------------------------------- centos7.x 安裝了glibc:glibc-2.17-157.el7.i686 glibc-2.17 nodeps安裝,即可
linux-rpm 打包之helloworld
關於linux下rpm打包的一個小例子,稱為helloworld吧。 另外,本文會不斷修改。 一、rpm打包準備工作 rpm打包需要一個獨立的打包目錄 目錄結構: BUILD, BUILDROOT, RPMS, SOURCE
linux 下載rpm包到本地,createrepo:建立本地YUM源
如何下載rpm包到本地 設定yum安裝時,保留rpm包。 1.編輯 /etc/yum.conf 將keepcache的值設定為1; 這樣就可以將yum安裝時的rpm包儲存在 /var/cache/yum下面 2.或者使用yum-plugin-downloadonly外掛,
Linux學習筆記八:rpm與yum包管理
iso鏡像 sta check 鏡像 back ever ext tof 校驗 ---rpm包管理--- 什麽是rpm包? RPM Packages Manager 是一種打包格式 使用cpio預覽:rpm2cpio /run/media/root/CentOS\ 7\
Linux:at命令詳解
計時 osi 執行 inux days pan 必須 man 一個 at命令 at命令為單一工作調度命令。at命令非常簡單,但是在指定時間上卻非常強大 語法 at [選項] time at > 執行的命令 ctrl+d 選項 -m :當指定的任務被
Linux:安裝git
b- 路徑 kernel tar.gz onf *** msg org 環境變量 1.下載 https://www.kernel.org/pub/software/scm/git/git-2.9.4.tar.gz 2.解壓 tar zxvf git-2.9.4.tar.gz
Linux安裝rpm包時報錯Header V3 DSA/SHA1 Signature, key ID 1d1e034b: NOKEY解決辦法
http pki images 解決辦法 key c-s sha1 nat dsa 這是因為yum安裝了舊版本的GPG key造成的,解決辦法: rpm --import /etc/pki/rpm-gpg/RPM* Header V3 DSA/SHA1 Signatur
Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux開發環境[2.2]
set clu cto 無法安裝 urn ems water 了解 源代碼管理 Setting up a EDK II build environment on Windows and Linux:搭建Windows和Linux開發環境[2.2] 2015-07 北
【linux】RPM包
-- 代碼包 -h locate 安裝文件 信息 屬於 打了 file 二進制包(Binary)以及源代碼包(Source)兩種。二進制包可以直接安裝在計算機中,而源代碼包將會由RPM自動編譯、安裝。源代碼包經常以src.rpm作為後綴名。 這種軟件包就像windows的
Linux下RPM軟件包的安裝及卸載
hat con 安裝過程 linux下 文件 需要 表示 狀態 conf 在 Linux 操作系統下,幾乎所有的軟件均通過RPM 進行安裝、卸載及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用於管理Linux 下