導航:首頁 > 源碼編譯 > 源碼rpm怎麼編譯

源碼rpm怎麼編譯

發布時間:2023-07-11 09:52:17

1. 如何將源碼編譯生成RPM包

1. make dist
2. rpmbuild -tb ovirt-engine-reports-3.5.6_master.tar.gz

2. 如何從linux源碼創建RPM或DEB包

在Linux系統操作中,因為某些原因而想要直接從源碼創建安裝的軟體包,下面就如何在Linux系統下從源碼創建RPM或DEB包,以便將來可以更容易的卸載程序。

如果已經從它的源碼運行「make install」安裝了linux程序。想完整移除它將變得真的很麻煩,除非程序的開發者在Makefile里提供了uninstall的目標設置。否則必須在安裝前後比較系統里文件的完整列表,然後手工移除所有在安裝過程中加入的文件。

這時候Checkinstall就可以派上使用。Checkinstall會跟蹤install命令行所創建或修改的所有文件的路徑(例如:「make install」、「make install_moles」等)並建立一個標準的二進制包,讓能用發行版的標准包管理系統安裝或卸載它,(例如Red Hat的yum或者Debian的apt-get命令)。已知它在 Slackware、SuSe、Mandrake 和 Gentoo 上也工作很好,請參考其官方文檔。

在這只集中在紅帽子和Debian為基礎的發行版,並展示怎樣從源碼使用Checkinstall創建一個RPM和DEB軟體包

在linux上安裝Checkinstall

在Debian及其衍生發行版上安裝Checkinstall:

# aptitude install checkinstall

在紅帽子的發行版上安裝Checkinstall,你需要下載一個已經打包好的Checkinstall rpm包(例如:從 http://rpm.pbone.net/找到),不過它已經從Repoforge庫里刪除了。這個包是針對Cent OS6的,不過也可在Cent OS7里工作。

# wget

ftp://ftp.pbone.net/mirror/ftp5.gwdg.de/pub/opensuse/repositories/home:/ikoinoba/CentOS_CentOS-6/x86_64/checkinstall-1.6.2-3.el6.1.x86_64.rpm# yum install checkinstall-1.6.2-3.el6.1.x86_64.rpm

一旦checkinstall安裝好,你就可以用下列格式創建一個特定的軟體包

# checkinstall 《install-command》

如果沒有參數,默認安裝命令「make install」將被使用

用Checkinstall創建一個RPM或DEB包

在這個例子里,我們將創建一個htop包,這是一個linux互動式文本模式進程查看器(類似 top)。

首先,讓我們從項目的官方網站下載源代碼,作為一個好的習慣,我們存儲源碼包到/usr/local/src下,並解壓它。

# cd /usr/local/src# wget http://hisham.hm/htop/releases/1.0.3/htop-1.0.3.tar.gz# tar xzf htop-1.0.3.tar.gz# cd htop-1.0.3

讓我們看看htop的安裝命令是什麼,以便我們能用Checkinstall命令調用它,如下面所示,htop用「make install」命令安裝。

# 。/configure# make install

因此,要創建一個htop安裝包,我們可以不帶任何參數的調用checkinstall,這將使用「make install」命令創建一個包。在這個過程中, checkinstall命令會問你幾個問題。

簡而言之,如下命令會創建一個htop包:

# 。/configure# checkinstall

「Should I create a default set of package docs?(我會創建一個默認設置的包文件?)」,回答「Y」:

此可以輸入一個包的簡短描述,然後按兩次回車:

輸入一個數字以修改下面的任何值或ENTER繼續:

上面就來Linux系統下使用checkinstall從源碼創建RPM或DEB包的方法。

3. 如何升級centos7內核並且編譯

、使用 elrepo rpm包升級
查看前系統內核版本 uname -r
1. 導入key
rpm --import
2. 安裝 elrepo yum源
rpm -Uvh
3. 安裝內核
yumelrepo源新版本內核直接yum安裝即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重啟再查看 uname -r
二、使用源碼編譯安裝升級
1 載內核源碼
載網址
wget xxx
2 解壓並進入源碼目錄
3 更新系統並安裝依賴軟體
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前內核配置文件拷貝前目錄
本應該執行make menuconfig自定義內核配置配置文件.config; 直接使用原系統內核配置拷貝/boot目錄配置文件前目錄
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前內核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 編譯安裝
#make bzImage
#make moles
#make moles_install
#make install
7 設置系統啟順序
查看系統啟項:
cat /boot/grub2/grub.cfg |grep menuentry
發現新版本內核設置新版本內核默認啟:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默認啟系統版本grub2-editenv list:
顯示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重啟再查看 uname -r
-

4. Linux內核源碼如何編譯

首先uname -r看一下你當前的linux內核版本

1、linux的源碼是在/usr/src這個目錄下,此目錄有你電腦上各個版本的linux內核源代碼,用uname -r命令可以查看你當前使用的是哪套內核,你把你下載的內核源碼也保存到這個目錄之下。
2、配置內核 make menuconfig,根據你的需要來進行選擇,設置完保存之後會在當前目錄下生成.config配置文件,以後的編譯會根據這個來有選擇的編譯。
3、編譯,依次執行make、make bzImage、make moles、make moles
4、安裝,make install
5、.創建系統啟動映像,到 /boot 目錄下,執行 mkinitramfs -o initrd.img-2.6.36 2.6.36
6、修改啟動項,因為你在啟動的時候會出現多個內核供你選擇,此事要選擇你剛編譯的那個版本,如果你的電腦沒有等待時間,就會進入默認的,默認的那個取決於 /boot/grub/grub.cfg 文件的設置,找到if [ "${linux_gfx_mode}" != "text" ]這行,他的第一個就是你默認啟動的那個內核,如果你剛編譯的內核是在下面,就把代表這個內核的幾行代碼移到第一位如:
menuentry 'Ubuntu, with Linux 3.2.0-35-generic' --class ubuntu --class gnu-linux --class gnu --class os {

recordfail
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='(hd0,msdos1)'
search --no-floppy --fs-uuid --set=root 9961c170-2566-41ac-8155-18f231c1bea5
linux/boot/vmlinuz-3.2.0-35-generic root=UUID=9961c170-2566-41ac-8155-18f231c1bea5 ro quiet splash $vt_handoff
initrd/boot/initrd.img-3.2.0-35-generic
}
當然你也可以修改 set default="0"來決定用哪個,看看你的內核在第幾位,default就填幾,不過我用過這種方法,貌似不好用。

重啟過後你編譯的內核源碼就成功地運行了,如果出現問題,比如滑鼠不能用,usb不識別等問題就好好查查你的make menuconfig這一步,改好後就萬事ok了。

最後再用uname -r看看你的linux內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。

5. 如何編譯內核及製作RPM包

前言

要編譯自內核能各種同答案列舉:
1 研究習內核源碼
2 支持新硬體或者打某項內核功能
3 升級內核更新版本
4 按自要求定製優化內核功能
種種...
折騰需要理由我說面直接進入主題
編譯式
編譯內核種式kernel.org載選擇載需要版本內核源碼
:linux-2.6.32-rc1.tar.bz2載內核源碼/home/user/目錄進入載目錄解壓壓縮

#cd /home/user/
#tar -xjvf linux-2.6.32-rc1.tar.bz2

二 准備編譯環境

始前首先確認面軟體包已經安裝(編譯標普華4.0直接全部安裝CD3保證條件)
* rpmdevtools
* yum-utils
fedora系統使用命令安裝:
#yum install yum-utils rpmdevtools

1. rpmbuild命令工作所需目錄樹面命令完該操作手建立目錄樹
命令建立:
#rpmdev-setuptree

命令/usr/src/rpmbuild/目錄目錄結構(位置沒則能前用戶目錄).

# tree /usr/src/rpmbuild/
rpmbuild/
|-- BUILD
|-- RPMS
|-- SOURCES
|-- SPECS
`-- SRPMS
面部rpmbuild環境建立rpm
3. 安裝內核源碼包需要依賴組件(跳步操作)

su -c 'yum-builddep kernel-.src.rpm'
4.安裝內核源碼系統默認目錄/usr/src/neoshine:

rpm -Uvh kernel-.src.rpm

三 配置內核(config配置文件)

面介紹何解源碼包並修改配置重新打包源碼
1. 解源碼包並打所補丁BUILD目錄

cd ~/rpmbuild/SPECS
rpmbuild -bp --target=`uname -m` kernel.spec

kernel源碼找:

/usr/src/neoshine/rpmbuild/BUILD/kernel-/linux-. directory

配置內核源碼
1. 進入內核源碼:

cd ~/rpmbuild/BUILD/kernel-2.6.$ver/linux-2.6.$ver.$arch/
2. 復制/boot/config*配置文件源碼目錄,config文件已經配或者其備份kernel配置文件:

cp /boot/config2.6- 2.6.$ver.$arch .config
3. 先檢查kernel配置新增選項:

make oldconfig
4. 定製內核功能關閉initrd支持選項執行圖形化內核配置工具:

make menuconfig
註:generic setup選項找initial RAM system and RAM disk(initramfs and initrd) support 項取消編譯同確保跟文件系統應驅系統所存儲器應驅都已經編譯內核(否則啟系統).

5. .config文件第行改面內容(注意:沒行面編譯報錯)

# i386
6. 拷貝.configSOURCES/:

cp .config ../SOURCES/config-$arch

四 編譯新內核

1. 面始准備編譯新內核包
打SPEC/kernel.spec

vim SPEC/kernel.spec
改變面行內容定製自內核擴展名(fc10類):

%define buildid .
步新內核rpm包程需要編譯內核源碼包
使用面命令新內核源碼包
rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec

參數說明:bb表示編譯二進制包即源碼包without debuginfo 表示沒調試信息
target=`uname -r`表示應前平台內核包
面命令功執行完BUILD/i686目錄新內核安裝包

五 安裝新內核

rpm -ivh kernel-$ver-$arch.rpm
步操作自安裝內核boot目錄安裝應內核模塊/lib/moles/目錄並且新內核應grub引導菜單
修改grub引導菜單格式

title new kernel
kernel /boot/vmlinuz-$ver-$arch root=/dev/sdax(hdax)

注意處要使用uuid指定跟文件系統(能掛載根區導致內核死機)要再加顯示相關參數(內核支持應設置看黑黑屏幕)
至禁用initrd新內核配置安裝完畢

6. 如何編譯安裝源碼包軟體

怎樣安裝以源碼包打包的軟體;

1、源碼包的打包格式;
源代碼一般以file.tar.gz file.tar.bz2或file.src.rpm 打包;file.tar.gz和file.tar.bz2格式的解包命令如下;
[root@localhost beinan]# tar jxvf file.tar.bz2
[root@localhost beinan]# tar zxvf file.tar.gz

至於file.src.rpm 的用法,請參見:《file.src.rpm 使用方法的簡介》

2、如何編譯安裝源碼包;(大多數)

1)解開軟體包查看幫助文檔;

我們解開一個包後,進入解壓包,一般都能發現README(或reame)和INSTALL( 或install);或doc(或DOC)目錄;看名字就知道個差不多;
比如我們下載一個比較新的fcitx 的軟體包,比如是 fcitx-3.2-050827.tar.bz2
我們在解開這個軟體包會會發現如下的文件;
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ls
aclocal.m4 config.guess configure debian INSTALL Makefile.in src xpm
AUTHORS config.h.in configure.in depcomp install-sh missing THANKS
autogen.sh config.rpath COPYING doc lib mkinstalldirs TODO
ChangeLog config.sub data fcitx.spec.in Makefile.am README tools
所以我們就可以看fcitx的INSTALL 和doc目錄的安裝文檔了;裡面都告訴我們如何安裝;
有時安裝文檔也會在開發者的主頁上有詳細的說明,及常見問題的處理等;比如 LumaQQ

2)編譯安裝軟體的條件;

首 先我們在Linux系統中至少得把開發工具安裝上,比如 gcc ;perl;python;glibc;gtk;make ;automake 等開發工具或基礎包;還要安裝一些相應的開發包,一般是文件名包括dev的,比如kernel-devel;還有一些開發庫,比如以lib開頭的;如果您 在編譯軟體時,有時提示缺少什麼東西之類的,大多少的是這些開發工具和開發庫等;從光碟中找出安裝就是了;有時光碟沒有提供,請用google搜索相應的 軟體包,有時可能也會用到源碼包編譯安裝所依賴的包;
有時本來系統中已經安裝了所依賴的包,但系統提示找不到應該怎麼辦?這時需要我們設置一下PKG_CONFIG_PATH的環境變數就行了;
#export PKG_CONFIG_PATH=/usr/lib/pkgconfig

#export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
然後我們再來運行編譯的./configure ;make ;make install ,嘗試著來吧;
java開發的工具開發的程序,要用到 jre或者jdk ;jdk已經包括jre了,所以如果我們只是要求有一個java程序運行的環境,只需要安裝jre就行了;安裝好jre,配置一下java的環境變數就可以用了。如果是圖形界面的程序,點點滑鼠就OK了;
用perl 開發的程序,是需要perl環境的,所以必須得把perl的包安裝上,python 也同理;

3)編譯安裝軟體的方法;
大多以tar.gz 和tar.bz2打包軟體,大多是通過 ./configure ;make ;make install 來安裝的;有的軟體是直接make;make install ;
我們可以通過./configure --help 來查看配置軟體的功能;大多軟體是提供./configure 配置軟體的功能的;少數的也沒有,如果沒有的就不用./configure ;直接make;make install 就行了;
./configure 比較重要的一個參數是 --prefix ,用--prefix 參數,我們可以指定軟體安裝目錄;當我們不需要這個軟體時,直接刪除軟體的目錄就行了;
比如我們可以指定fcitx 安裝到 /opt/fcitx 目錄中;
[root@localhost fcitx]#./configure --prefix=/opt/fcitx
如果我們不需要fcitx 時,可以直接刪除 /opt/fcitx 目錄;
所以我們舉這個例子中,fcitx如果定製安裝到 /opt/fcitx目錄中,完整的安裝方法應該是:
[root@localhost fcitx]# tar jxvf fcitx-3.2-050827.tar.bz2
[root@localhost fcitx]#cd fcitx
[root@localhost fcitx]# ./configure --prefix=/opt/fcitx
[root@localhost fcitx]# make
[root@localhost fcitx]# make install
調用fcitx ,應該是
[beinan@localhost ~]#/opt/fcitx/bin/fcitx
如果您想要讓fcitx 只要執行fcitx ,就能調用,請配置環境變數,或者在/usr/bin 中做一個fcitx 的鏈接;
[root@localhost beinan]# ln -s /opt/fcitx/bin/fcitx /usr/bin/fcitx
一般的情況下都有說,但大多軟體沒有提供源碼包的卸載方法;我們可以找到軟體的安裝點刪除。主要看你把它安裝在哪了。
設置環境變數PATH,請參見:《在Fedora Core 中,有些常用命令怎麼沒有?解決辦法設置PATH》
所以您的PATH可以設置成這樣的;
export PATH=".:/bin:/usr/bin:/usr/local/bin:/usr/sbin:/usr/X11R6/bin:/sbin:/opt/fcitx/bin"
當然這只是舉個例子,fcitx 可以進入桌面自動運行的,請參看 http://www.fcitx.org 官方站上的安裝說明;舉個例子只是讓大家好理解一點;
再舉一個例子,比如我想安裝mlterm ;並指定安裝目錄為/opt/mlterm中; http://mlterm.sourceforge.net
#./configure --prefix=/opt/mlterm
#make
#make install

把源碼包安裝的軟體,都指定安裝在 /opt目錄中,這樣不就知道了軟體安裝在哪裡了;也方便卸載;

7. Linux系統下用什麼工具做安裝包_linux軟體安裝包

【享】linux安裝程序

初者都知道何linux安裝程序面簡單說

Linux系統安裝軟體見兩種:

種軟體源代碼您需要自手編譯種軟體安裝包通用gzip壓縮tar包(綴名.tar.gz)

另種軟體執行程序要安裝種軟體安裝包通RPM包(RedHatLinuxPacket軟體包管理器)綴名.rpm用RPM格式打包源代碼、用gzip壓縮執行套裝程序要您理解思路兩種形式安裝包

源代碼編譯安裝

Linux軟體源代碼發指提供該軟體所程序源代碼發布形式需要用戶自編譯執行二進制碼並進行安裝其優點配置靈隨意掉或保留某些功能/模塊適應種硬體/操作系統平台及編譯環境;缺點難度較般適合初者使用

各軟體源代碼包般都各軟體項目主頁提供載例:等

1.*.src.rpm形式源宏拍碼代碼軟體包

安裝:

rpm-rebuild*.src.rpm

cd/usr/src/dist/RPMS

rpm-ivh*.rpm

卸載:

rpm-epackgename

說蔽哪明:rpm--rebuild*.src.rpm命令源代碼編譯並/usr/src/dist/RPMS二進制RPM軟體包再安裝該賀好二進制包即Packgename前所述

2.*.tar.gz/*.tgz/*.bz2形式源代碼軟體包

tar.gz或tgz或tar.bz2等格式結尾軟體包般都源代碼式發布軟體安裝類軟體首先需要軟體進行解壓:

#tarzxvffilename.tar.gz

#tarxvfzfilename.tgz

#tarxvfjfilename.tar.bz2

解壓進入解壓目錄:

#cdfilename/

於類文檔見安裝步驟:配置、編譯安裝3步其麻煩配置所軟體安裝相關配置都步指定:比軟體安裝位置等

配置:./configure

編譯:make

安裝:makeinstall

卸載:makeuninstall或手刪除

說明:建議解壓先閱讀說明文件()解安裝需求必要需改編譯配置些軟體包源代碼編譯安裝用makeuninstall命令進行卸載提供功能則軟體卸載必須手進行由於軟體能文件散安裝系統目錄往往難刪除干凈應該編譯前進行配置指定軟體要安裝目標路徑:./configure--prefix=目錄名使用rm-rf軟體目錄名命令進行干凈徹底卸載與其安裝式相比需要用戶自編譯安裝難適合於使用Linux已定經驗般推薦初者使用

RPM格式軟體包安裝

RPMRedHat公司發軟體包管理器使用容易RPM形式軟體包進行安裝、升級、卸載、驗證、查詢等操作安裝簡單卸載軟體安裝處目錄文件刪除干凈推薦初者盡能使用RPM形式軟體包軟體包往往特定命令規范名字由文件名版本號.rpm組字串例apache-3.1.12-i386.rpmapache-devel-3.1.12-i386.rpm軟體包名稱別-devel各支持RPM格式Linux見軟體RPM包網站rpmfind.net找

1.安裝

命令格式:

rpm-i(or--install)optionsfile1.rpm...fileN.rpm

參數:

file1.rpm...fileN.rpm指要安裝RPM包文件名

詳細選項:

-h(or—hash)安裝輸hash記號;test安裝進行測試並實際安裝;--percent百比形式輸安裝進度;--excludedocs安裝軟體包文檔;--includedocs安裝文檔;--replacepkgs強制重新安裝已經安裝軟體包;--替換屬於其軟體包文件;--force忽略軟體包及文檔沖突;--noscripts運行預安裝安裝腳本;--prefixNEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxyHOST用HOST作FTP代理;--ftpportPORT指定FTP埠號PORT

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rootDIRECTORY讓指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfileFILELIST設置rpmrc文檔FILELIST;--dbpathDIRECTORY設置RPM資料庫所路徑DIRECTORY

2.刪除

命令格式:

rpm-e(or--erase)optionspkg1...pkgN

參數:

pkg1...pkgN:要刪除軟體包

詳細選項:

--test執行刪除測試;--noscripts運行預安裝安裝腳本程序;--nodeps檢查依賴性

通用選項:

-vv顯示調試信息;--rootDIRECTORY讓指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfileFILELIST設置rpmrc文檔FILELIST;--dbpathDIRECTORY設置RPM資料庫所路徑DIRECTORY

3.升級

命令格式:

rpm-U(or--upgrade)optionsfile1.rpm...fileN.rpm

參數:

file1.rpm...fileN.rpm指軟體包名字

詳細選項:

-h(or—hash)安裝輸hash記號;—oldpackage允許舊版本;--test進行升級測試;--excludedocs安裝軟體包文件;--includedocs安裝文件;--replacepkgs強制重新安裝已經安裝軟體包;--替換屬於其軟體包文件;--force忽略軟體包及文件沖突;--percent百比形式輸安裝進度;--noscripts運行預安裝安裝腳本;--prefixNEWPATH軟體包安裝由NEWPATH指定路徑;--ignorearch校驗軟體包結構;--ignoreos檢查軟體包運行操作系統;--nodeps檢查依賴性關系;--ftpproxyHOST用HOST作FTP代理;--ftpportHOST指定FTP埠號HOST

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rootDIRECTORY讓指定路徑作根目錄預安裝程序安裝程序都安裝目錄;--rcfileFILELIST設置rpmrc文件FILELIST;--dbpathDIRECTORY設置RPM資料庫所路徑DIRECTORY

4.查詢

命令格式:

rpm-q(or--query)options

參數:

pkg1...pkgN:查詢已安裝軟體包

詳細選項:

-pPACKAGE_FILE查詢軟體包文件;-fFILE查詢FILE屬於哪軟體包;-a查詢所安裝軟體包;--CAPABILITY查詢提供CAPABILITY功能軟體包;-ggroup查詢屬於group組軟體包;--CAPABILITY查詢所需要CAPABILITY功能軟體包

選項:

-i顯示軟體包概要信息;-l顯示軟體包文件列表;-c顯示配置文件列表;-d顯示文件列表;-s顯示軟體包文檔列表並顯示每文件狀態-;-scripts顯示安裝、卸載、校驗腳本;--queryformat(or--qf)用戶指定式顯示查詢信息;--mp顯示每文件所已校驗信息;--proVides顯示軟體包提供功能;--requires(or-R)顯示軟體包所需功能

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rootDIRECTORY讓指定路徑作根目錄預安裝程序安裝程序都安裝目錄;-rcfileFILELIST設置rpmrc文件FILELIST;--dbpathDIRECTORY設置RPM資料庫所路徑DIRECTORY

5.校驗已安裝軟體包

命令格式:

rpm-V(or--verify,or-y)options

參數:

pkg1...pkgN要校驗軟體包名

軟體包選項:

-pPACKAGE_FILE校驗PACKAGE_FILE所屬軟體包;-a校驗所軟體包;-ggroup校驗所屬於組group軟體包

詳細選項:

--noscripts運行校驗腳本;--nodeps校驗依賴性;--nofiles校驗文檔屬性

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rootPATH讓RPMPATH指定路徑做根目錄預安裝程序安裝程序都安裝目錄;--rcfileFILELIST設置rpmrc文件FILELIST;--dbpathDIRECTORY設置RPM資料庫所路徑DIRECTORY

6.校驗軟體包文件

語:

rpm-K(or--checksig)optionsfile1.rpm...fileN.rpm

參數:

file1.rpm...fileN.rpm軟體包文件名;Checksig--詳細選項;--nopgp校驗PGP簽名

通用選項:

-v顯示附加信息;-vv顯示調試信息;--rcfileFILELIST設置rpmrc文件FILELIST

7.其RPM選項

--rebuilddb重建RPM資料庫;--initdb創建新RPM資料庫;--quiet盡能減少輸;--help顯示幫助文件;--version顯示RPM前版本

喜歡字元介面安裝或卸載些軟體包完全安裝基於X-Window圖形介面軟體包管理程序glint,xrpm圖形介面或使用KDEKPackage(單擊【始】→【運行命令】其輸入KPackage即啟KPackage)等軟體包安裝、升級、卸載、驗證查詢通單擊滑鼠輕松完圖所示

需要注意每RPM軟體包格式軟體並定獨立各RPM軟體包間定依賴關系刪除某RPM軟體包能導致別軟體能使用升級刪除應該注意

本載安裝linux發現版本都幾百兆我覺系統都沒款點軟體能用或者說用起問題啊我直覺安裝包越越

8. Linux內核源碼如何編譯Ubuntu源代碼在哪裡呢

編譯linux內核步驟:
1、安裝內核
如果內核已經安裝(/usr/src/目錄有linux子目錄),跳過。如果沒有安裝,在光碟機中放入linux安裝光碟,找到kernel-source-2.xx.xx.rpm文件(xx代表數字,表示內核的版本號),比如RedHat linux的RPMS目錄是/RedHat/RPMS/目錄,然後使用命令rpm -ivh kernel-source-2.xx.xx.rpm安裝內核。如果沒有安裝盤,可以去各linux廠家站點或者www.kernel.org下載。
2、清除從前編譯內核時殘留的.o 文件和不必要的關聯
cd /usr/src/linux
make mrproper
3、配置內核,修改相關參數,請參考其他資料
在圖形界面下,make xconfig;字元界面下,make menuconfig。在內核配置菜單中正確設置個內核選項,保存退出
4、正確設置關聯文件
make dep
5、編譯內核
對於大內核(比如需要SCSI支持),make bzImage
對於小內核,make zImage
6、編譯模塊
make moles
7、安裝模塊
make moles_install
8、使用新內核
把/usr/src/linux/arch/i386/boot/目錄內新生成的內核文件bzImage/zImage拷貝到/boot目錄,然後修改/etc/lilo.conf文件,加一個啟動選項,使用新內核bzImage/zImage啟動。格式如下:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux-new ### 告訴lilo預設使用新內核啟動linux ###
append="mem=256M"
image=/boot/vmlinuz-2.2.14-5.0
label=linux
read-only
root=/dev/hda5
image=/boot/bzImage(zImage)
label=linux-new
read-only
root=/dev/hda5
保留舊有的啟動選項可以保證新內核不能引導的情況,還可以進入linux進行其他操作。保存退出後,不要忘記了最重要的一步,運行/sbin/lilo,使修改生效。
9、重新生成ram磁碟
如果您的系統中的/etc/lilo.conf沒有使用了ram磁碟選項initrd,略過。如果您的系統中的/etc/lilo.conf使用了ram磁碟選項initrd,使用mkinitrd initrd-內核版本號,內核版本號命令重新生成ram磁碟文件,例如我的Redhat 6.2:
mkinitrd initrd-2.2.14-5.0 2.2.14-5.0
之後把/etc/lilo.conf中的initrd指向新生成的initrd-2.2.14-5.0文件:
initrd=/boot/initrd-2.2.14-5.0
ram磁碟能使系統性能盡可能的優化,具體參考/usr/src/linux/Documents/initrd.txt文件
10、重新啟動,OK!

9. centos中怎麼提取rpm中源碼進行編譯

如果下載的rpm包不是源碼包,則可以直接
rpm -ivh xxxx.rpm 來進行安裝。
如果是源碼包可以通過
rpm--recompilexxx.rpm #這個命令會把源代碼解包並編譯、安裝它,如果用戶使用命令:
rpm--rebuild xxx.rpm#在安裝完成後,還會把編譯生成的可執行文件重新包裝成i386.rpm 的RPM軟體包。

閱讀全文

與源碼rpm怎麼編譯相關的資料

熱點內容
php內核源碼入口 瀏覽:910
java內存圖片 瀏覽:227
電器原理pdf 瀏覽:273
谷歌注冊無法連接網路連接伺服器地址 瀏覽:428
在識貨app上怎麼聯系客服 瀏覽:470
javac數據類型 瀏覽:480
kmp演算法演算法導論 瀏覽:193
單反照片批量壓縮 瀏覽:340
javazip壓縮目錄 瀏覽:712
89c52單片機晶振 瀏覽:206
pdf轉jpgmac 瀏覽:799
65壓縮機多少錢 瀏覽:120
同類型服務app如何脫穎而出 瀏覽:762
mtm月線金叉選股預警公式源碼 瀏覽:227
javasapwebservice 瀏覽:709
程序員老了去做什麼 瀏覽:404
linux小括弧 瀏覽:773
已加密的u盤怎麼清空 瀏覽:433
怎麼拿到伺服器許可權 瀏覽:194
延時攝影app如何保存 瀏覽:196