⑴ 怎樣重新打包centos scr rpm
rpm 打包環境--centos 6.5,
第一步:
先看下當前的環境是否有rpmbuild工具。如果沒有,可以在這個網址下載。
http://rpmfind.net/linux/rpm2html/search.php?query=rpm-build
由於rpm包安裝比較簡單,相對與源碼安裝來說不需要編譯等操作,所以在缺少一些工具時,還是推薦使用上面的網址下載相應的rpm包。
安裝時,如果還依賴其他的包,會出現提示,這時候,同樣在上面的網址尋找提示版本號的依賴工具安裝就行。
(如果可以連網的話。可以直接使用yum 命令,這樣依賴的包會自動一起安裝)
第二步:
不同的系統,rpmbuild默認路徑會不同,此時可以使用rpm --showrc 查看rpmbuild 的相關信息,包括一些路徑名等的宏定義。
我是用的centos 系統中,默認是在/root/rpmbuild下。rpmbuild需要用到的BUILD、BUILDROOT、SOURCE、RPMS、SPECS此時已經創建好了
有的帖子上說,這幾個路徑需要手動創建,可能不同版本不太一樣。
第三步:
rpmbuild工具裝好之後,首先需要對其有一個基本的了解。
例如,rpmbuild 的目標就是將源碼包打包成rpm包,安裝時就減少了編譯的步驟。
但是這里有兩個問題大部分帖子上說的都比較模糊。下面是我自己的一些心得整理
1、首先要明確的是,打包和安裝一般來說不會是在一個機器上(要驗證自己的腳本是否正確,最好用兩台機器驗證)。
所以可以這么理解,現在有兩台機器,一個是源碼包的來源機器,一個是rpm包的安裝目標機器。
2、源碼包的來源機也是你自己的實驗機,你的代碼,編譯工具,相關安裝包都在該機器上。而目標安裝機器上可能什麼也沒有
3、此時你需要做的就是在源碼機上實現一個腳本(實際上是spec腳本中的某幾個部分實現),對你的代碼進行預處理、編譯、打包等。
4、然後將編譯打包後的rpm包上傳到目標機器上。再在目標機器上實現另一個腳本(spec腳本的另外幾個部分實現),完成解壓,安裝等處理。
先搞清楚上面的幾點,可能對rpm包的製作方法就有個一個大概的了解。
第四步:
開始寫腳本啦.
rpm的腳本是spec腳本。網上有很多關於spec腳本的說明,大家可以參照這篇:http://blog.csdn.net/hbhhww/article/details/7219834
裡面介紹了spec腳本的關鍵字和一些標准宏定義。這里截取比較重要的部分簡單說明一下。
%pre rpm安裝前執行的腳本
%post rpm安裝後執行的腳本
%preun rpm卸載前執行的腳本
%postun rpm卸載後執行的腳本
%preun %postun 的區別是什麼呢?
前者在升級的時候會執行,後者在升級rpm包的時候不會執行
%files 定義那些文件或目錄會放入rpm中
%exclude 列出不想打包到rpm中的文件
注意:如果%files或者%exclude指定的文件不存在,會出錯的。
第五步:
可以先將需要打包的文件壓縮到固定目錄
完成spec腳本之後開始打包
使用 rpmbuild -xx xxx.spec 就可以製作rpm包啦.具體可以參考:http://blog.sina.com.cn/s/blog_4ba5b45e0102e5r2.html
下面同樣只截取部分說明:
#rpmbuild
-bp 只作準備 (解壓與打補丁)
-bc 准備並編譯
-bi 編譯並安裝
-bl 檢驗文件是否齊全
-ba 編譯後做成*.rpm和src.rpm
-bb 編譯後做成*.rpm
-bs 只做成*.src.rpm
製作好的.rpm包,就可以使用rpm命令在其他機器上安裝啦~
⑵ 怎樣將自己修改後的centos打包成可啟動的iso文件
#安裝所需軟體包 yum -y install createrepo mkisofs anaconda-runtime 根據root下的install.log文件,得到安裝的軟體包 awk '/Installing/{print $2}' install.log |sed 's/^[0-9]*://g' >/root/packages.list [root@localhost
⑶ centos7下利用pyinstaller打包python程序,生成的執行文件運行報錯,如何解決
首先,那堆apixxx.dll的Warning一般不影響執行,可以不用管。
我曾經遇到過類似的pyi_rth_qt5plugins錯誤,後來發現PyInstaller似乎是從系統路徑查找Qt版本的,把我定義的%QTDIR%下面的dll復制過來了,這個Qt版本又和PyQt的版本不同,所以就沖突了。從系統路徑去掉Qt以後再生成一切正常。
總之:如果系統中同時安裝了Qt和PyQt,或者有好幾個Qt/PyQt版本,一定要小心避免引起混亂。
⑷ 我用CentOS的tar命令把一個目錄打包成tar.gz文件,再解壓,為何.htaccess這類只有拓展名的文件不見了
ls -lrt
用這個命令看看.htaccess文件的許可權。查看現在登陸的用戶是否對該文件有寫許可權
供樓主參考,祝成功!
⑸ 如何將已經安裝好的centos打包成一個可安裝的ISO,並放在U盤中可以安裝
說實話,確來實是高難度,自建議樓主從3個方面去找思路
一、好像聽說有支持linux的ghost,去找找
二、使用最專業的做法,難度極大,你要搞清楚安裝好系統後又裝了哪些包,利用linux安裝程序kickstart來實現包安裝及相關配置,當然就要用上bash shell了,然後用linux下的mkisofs命令來定做一個iso鏡像,就像cactiez.iso,fan.iso,emos.iso等著名的定製集成的可引導鏡像。最後用對應的量產工具製做到U盤。
三、如果硬體環境一樣,用tar打個包,然後通過第三方媒介解壓到目的硬碟,即可。
⑹ centos5.5版本如何 打包系統。
可以用Acronics True Image來做
⑺ linux下怎樣將目錄壓縮打包
假設目錄名為 test
tar命令:
tar czvf test.tar.gz test/
或者
tar cvf test.tar test/
區別是是否壓縮。
rar命令
rar a test.rar test/
zip 命令:
zip -r test.zip test/
絕大多數情況下 用專tar命令。zip命令較屬少。 很少有人用rar打包或者壓縮。
⑻ CentOS6.7使用U盤安裝方式如何打包自動安裝需要增加的文件
1、看下圖片是什麼後綴的,是那種軟體生成的,也許電腦里沒有能打開該圖片的軟體,對應後綴查出圖片相對應的軟體,從網上下載一個安裝到電腦里就可以顯示了。
2、U盤或電腦有病毒造成的,把殺毒軟體升級到最新好好地查殺一下就可以了。
3、電腦里可能沒有相關聯的打開圖片的文件,重新安裝或修復一下系統。
4、軟體版本的問題,一般情況是高版本的軟體生成的圖片低版本的軟體打不開,反過來可以兼容。
5、可能U盤故障,把圖片復制到電腦硬碟里試
⑼ 在centos裡面,如何打包的時候排除所有的.svn文件夾
首先應該不是centos的問題吧。。。 我是在eclipse新建一個build文件,用ant工具對工程進行打包我用的方法是將所有要打包的文件到一個文件夾中,排除svn文件可以用以下命令 <patternset> <exclude name="**/_svn/**" /> </patternset> 然後對拷貝過來的文件夾進行打包即可。