1、查看操作系統版本和內核版本
2、創建相關目錄
/usr/src/redhat/SOURCES //存放源代碼,補丁,圖標等文件。/usr/src/redhat/SPECS //存放用於管理rpm製作進程的spec文件。/usr/src/redhat/BUILD //解壓後的文件存放在這里。/usr/src/redhat/RPMS //存放由rpmbuild製作好的二進制包。/usr/src/redhat/SRPMS //存放由rpmbuild製作好的源碼包。
3、下載Nginx源碼包
下載源碼包到SOURCES目錄,不需要解壓。
4、手工創建SPEC文件,由於spec文件是由spec語言編寫的,請注意spec語言的語法。
SPEC文件內容如下:
#Example Spec File For Nginx# Edited By LaoXu 7.Mar.2013#Summary: High Performance Web ServerName: nginxVersion: 1.3.9Release: el5License: GPLGroup: Applications/ServerSource:URL:Distribution: linuxPackager: XuYuanzhen <absolutey.>%descriptionnginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server%preprm -rf $RPM_BUILD_DIR/nginx-1.3.9zcat $RPM_SOURCE_DIR/nginx-1.3.9.tar.gz | tar -xvf -%buildcd nginx-1.3.9./configure --prefix=/usr/local/nginxmake%installcd nginx-1.3.9make install%preunif [ -z "`ps aux | grep nginx | grep -v grep`" ];thenkillall nginx >/dev/nullexit 0fi%files/usr/local/nginx5、開始RPM製作
② 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內核版本。是不是你剛下的那個呢!有沒有成就感?
打字不易,如滿意,望採納。
③ 如何編譯linux內核
內核,是一個操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網路系統,決定著系統的性能和穩定性。Linux作為一個自由軟體,
在廣大愛好者的支持下,內核版本不斷更新。新的內核修訂了舊內核的bug,並增加了許多新的特性。如果用戶想要使用這些新特性,或想根據自己的系統度身定
制一個更高效,更穩定的內核,就需要重新編譯內核。本文將以RedHat Linux 6.0(kernel
2.2.5)為操作系統平台,介紹在Linux上進行內核編譯的方法。
一、 下載新內核的源代碼
目前,在Internet上提供Linux源代碼的站點有很多,讀者可以選擇一個速度較快的站點下載。筆者是從站點www.kernelnotes.org上下載了Linux的最新開發版內核2.3.14的源代碼,全部代碼被壓縮到一個名叫Linux-2.3.14.tar.gz的文件中。
二、 釋放內核源代碼
由於源代碼放在一個壓縮文件中,因此在配置內核之前,要先將源代碼釋放到指定的目錄下。首先以root帳號登錄,然後進入/usr/src子目錄。如果用戶在安裝Linux時,安裝了內核的源代碼,則會發現一個linux-2.2.5的子目錄。該目錄下存放著內核2.2.5的源代碼。此外,還會發現一個指向該目錄的鏈接linux。刪除該連接,然後將新內核的源文件拷貝到/usr/src目錄中。
(一)、用tar命令釋放內核源代碼
# cd /usr/src
# tar zxvf Linux-2.3.14.tar.gz
文件釋放成功後,在/usr/src目錄下會生成一個linux子目錄。其中包含了內核2.3.14的全部源代碼。
(二)、將/usr/include/asm、/usr/inlude/linux、/usr/include/scsi鏈接到/usr/src/linux/include目錄下的對應目錄中。
# cd /usr/include
# rm -Rf asm linux
# ln -s /usr/src/linux/include/asm-i386 asm
# ln -s /usr/src/linux/include/linux linux
# ln -s /usr/src/linux/include/scsi scsi
(三)、刪除源代碼目錄中殘留的.o文件和其它從屬文件。
# cd /usr/src/linux
# make mrproper
三、 配置內核
(一)、啟動內核配置程序。
# cd /usr/src/linux
# make config
除了上面的命令,用戶還可以使用make menuconfig命令啟動一個菜單模式的配置界面。如果用戶安裝了X window系統,還可以執行make xconfig命令啟動X window下的內核配置程序。
(二)、配置內核
Linux的
內核配置程序提供了一系列配置選項。對於每一個配置選項,用戶可以回答"y"、"m"或"n"。其中"y"表示將相應特性的支持或設備驅動程序編譯進內
核;"m"表示將相應特性的支持或設備驅動程序編譯成可載入模塊,在需要時,可由系統或用戶自行加入到內核中去;"n"表示內核不提供相應特性或驅動程序
的支持。由於內核的配置選項非常多,本文只介紹一些比較重要的選項。
1、Code maturity level options(代碼成熟度選項)
Prompt for development and/or incomplete code/drivers
(CONFIG_EXPERIMENTAL) [N/y/?]
如果用戶想要使用還處於測試階段的代碼或驅動,可以選擇「y」。如果想編譯出一個穩定的內核,則要選擇「n」。
1、 Processor type and features(處理器類型和特色)
(1)、Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC, PPro/6x86MX) [PPro/6x86MX] 選擇處理器類型,預設為Ppro/6x86MX。
(2)、Maximum Physical Memory (1GB, 2GB) [1GB] 內核支持的最大內存數,預設為1G。
(3)、Math emulation (CONFIG_MATH_EMULATION) [N/y/?] 協處理器模擬,預設為不模擬。
(4)、MTRR (Memory Type Range Register) support (CONFIG_MTRR) [N/y/?]
選擇該選項,系統將生成/proc/mtrr文件對MTRR進行管理,供X server使用。
(5)、Symmetric multi-processing support (CONFIG_SMP) [Y/n/?] 選擇「y」,內核將支持對稱多處理器。
2、 Loadable mole support(可載入模塊支持)
(1)、Enable loadable mole support (CONFIG_MODULES) [Y/n/?] 選擇「y」,內核將支持載入模塊。
(2)、Kernel mole loader (CONFIG_KMOD) [N/y/?] 選擇「y」,內核將自動載入那些可載入模塊,否則需要用戶手工載入。
3、 General setup(一般設置)
(1)、Networking support (CONFIG_NET) [Y/n/?] 該選項設置是否在內核中提供網路支持。
(2)、PCI support (CONFIG_PCI) [Y/n/?] 該選項設置是否在內核中提供PCI支持。
(3)、PCI access mode (BIOS, Direct, Any) [Any] 該選項設置Linux探測PCI設備的方式。選擇「BIOS」,Linux將使用BIOS;選擇「Direct」,Linux將不通過BIOS;選擇「Any」,Linux將直接探測PCI設備,如果失敗,再使用BIOS。
(4)Parallel port support (CONFIG_PARPORT) [N/y/m/?] 選擇「y」,內核將支持平行口。
4、 Plug and Play configuration(即插即用設備支持)
(1)、Plug and Play support (CONFIG_PNP) [Y/m/n/?] 選擇「y」,內核將自動配置即插即用設備。
(2)、ISA Plug and Play support (CONFIG_ISAPNP) [Y/m/n/?] 選擇「y」,內核將自動配置基於ISA匯流排的即插即用設備。
5、 Block devices(塊設備)
(1)、Normal PC floppy disk support (CONFIG_BLK_DEV_FD) [Y/m/n/?] 選擇「y」,內核將提供對軟盤的支持。
(2)、Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support (CONFIG_BLK_DEV_IDE) [Y/m/n/?] 選擇「y」,內核將提供對增強IDE硬碟、CDROM和磁帶機的支持。
6、 Networking options(網路選項)
(1)、Packet socket (CONFIG_PACKET) [Y/m/n/?] 選擇「y」,一些應用程序將使用Packet協議直接同網路設備通訊,而不通過內核中的其它中介協議。
(2)、Network firewalls (CONFIG_FIREWALL) [N/y/?] 選擇「y」,內核將支持防火牆。
(3)、TCP/IP networking (CONFIG_INET) [Y/n/?] 選擇「y」,內核將支持TCP/IP協議。
(4)The IPX protocol (CONFIG_IPX) [N/y/m/?] 選擇「y」,內核將支持IPX協議。
(5)、Appletalk DDP (CONFIG_ATALK) [N/y/m/?] 選擇「y」,內核將支持Appletalk DDP協議。
8、SCSI support(SCSI支持)
如果用戶要使用SCSI設備,可配置相應選項。
9、Network device support(網路設備支持)
Network device support (CONFIG_NETDEVICES) [Y/n/?] 選擇「y」,內核將提供對網路驅動程序的支持。
10、Ethernet (10 or 100Mbit)(10M或100M乙太網)
在該項設置中,系統提供了許多網卡驅動程序,用戶只要選擇自己的網卡驅動就可以了。此外,用戶還可以根據需要,在內核中加入對FDDI、PPP、SLIP和無線LAN(Wireless LAN)的支持。
11、Character devices(字元設備)
(1)、Virtual terminal (CONFIG_VT) [Y/n/?] 選擇「y」,內核將支持虛擬終端。
(2)、Support for console on virtual terminal (CONFIG_VT_CONSOLE) [Y/n/?]
選擇「y」,內核可將一個虛擬終端用作系統控制台。
(3)、Standard/generic (mb) serial support (CONFIG_SERIAL) [Y/m/n/?]
選擇「y」,內核將支持串列口。
(4)、Support for console on serial port (CONFIG_SERIAL_CONSOLE) [N/y/?]
選擇「y」,內核可將一個串列口用作系統控制台。
12、Mice(滑鼠)
PS/2 mouse (aka "auxiliary device") support (CONFIG_PSMOUSE) [Y/n/?] 如果用戶使用的是PS/2滑鼠,則該選項應該選擇「y」。
13、Filesystems(文件系統)
(1)、Quota support (CONFIG_QUOTA) [N/y/?] 選擇「y」,內核將支持磁碟限額。
(2)、Kernel automounter support (CONFIG_AUTOFS_FS) [Y/m/n/?] 選擇「y」,內核將提供對automounter的支持,使系統在啟動時自動 mount遠程文件系統。
(3)、DOS FAT fs support (CONFIG_FAT_FS) [N/y/m/?] 選擇「y」,內核將支持DOS FAT文件系統。
(4)、ISO 9660 CDROM filesystem support (CONFIG_ISO9660_FS) [Y/m/n/?]
選擇「y」,內核將支持ISO 9660 CDROM文件系統。
(5)、NTFS filesystem support (read only) (CONFIG_NTFS_FS) [N/y/m/?]
選擇「y」,用戶就可以以只讀方式訪問NTFS文件系統。
(6)、/proc filesystem support (CONFIG_PROC_FS) [Y/n/?] /proc是存放Linux系統運行狀態的虛擬文件系統,該項必須選擇「y」。
(7)、Second extended fs support (CONFIG_EXT2_FS) [Y/m/n/?] EXT2是Linux的標准文件系統,該項也必須選擇「y」。
14、Network File Systems(網路文件系統)
(1)、NFS filesystem support (CONFIG_NFS_FS) [Y/m/n/?] 選擇「y」,內核將支持NFS文件系統。
(2)、SMB filesystem support (to mount WfW shares etc.) (CONFIG_SMB_FS)
選擇「y」,內核將支持SMB文件系統。
(3)、NCP filesystem support (to mount NetWare volumes) (CONFIG_NCP_FS)
選擇「y」,內核將支持NCP文件系統。
15、Partition Types(分區類型)
該選項支持一些不太常用的分區類型,用戶如果需要,在相應的選項上選擇「y」即可。
16、Console drivers(控制台驅動)
VGA text console (CONFIG_VGA_CONSOLE) [Y/n/?] 選擇「y」,用戶就可以在標準的VGA顯示方式下使用Linux了。
17、Sound(聲音)
Sound card support (CONFIG_SOUND) [N/y/m/?] 選擇「y」,內核就可提供對音效卡的支持。
18、Kernel hacking(內核監視)
Magic SysRq key (CONFIG_MAGIC_SYSRQ) [N/y/?] 選擇「y」,用戶就可以對系統進行部分控制。一般情況下選擇「n」。
四、 編譯內核
(一)、建立編譯時所需的從屬文件
# cd /usr/src/linux
# make dep
(二)、清除內核編譯的目標文件
# make clean
(三)、編譯內核
# make zImage
內核編譯成功後,會在/usr/src/linux/arch/i386/boot目錄中生成一個新內核的映像文件zImage。如果編譯的內核很大的話,系統會提示你使用make bzImage命令來編譯。這時,編譯程序就會生成一個名叫bzImage的內核映像文件。
(四)、編譯可載入模塊
如果用戶在配置內核時設置了可載入模塊,則需要對這些模塊進行編譯,以便將來使用insmod命令進行載入。
# make moles
# make modelus_install
編譯成功後,系統會在/lib/moles目錄下生成一個2.3.14子目錄,裡面存放著新內核的所有可載入模塊。
五、 啟動新內核
(一)、將新內核和System.map文件拷貝到/boot目錄下
# cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinuz-2.3.14
# cp /usr/src/linux/System.map /boot/System.map-2.3.14
# cd /boot
# rm -f System.map
# ln -s System.map-2.3.14 System.map
(二)、配置/etc/lilo.conf文件。在該文件中加入下面幾行:
default=linux-2.3.14
image=/boot/vmlinuz-2.3.14
label=linux-2.3.14
root=/dev/hda1
read-only
(三)、使新配置生效
# /sbin/lilo
(四)、重新啟動系統
# /sbin/reboot
新內核如果不能正常啟動,用戶可以在LILO:提示符下啟動舊內核。然後查出故障原因,重新編譯新內核即可。
了解更多開源相關,去LUPA社區看看吧。
④ 在紅帽系統里怎麼製作rpm包
在當前目錄編制一個SPEC文件取名radproxy-1.4.6.spec,內容如下
Summary:Radius Proxy
Name:radproxy
Version:1.4.6
Release:1
Copyright:GPL
Group:Application/System
Packager:Adam Wang
%description
This Package is a Radproxy Building for PACS.
%changelog
%prep
%build
%install
%files
/radproxy/radproxy
/radproxy/radproxy.conf
其中最後的%files之後的行為文件的安裝目標目錄(必須時絕對路徑)。
因此在本機創建上述目錄並將文件復制到相應目錄中。
在當前目錄運行命令:rpmbuild -bb radproxy-1.4.6.spec
結果會在屏幕上顯示生成的rpm包的位置。
其中-bb表示僅生成二進制包,-ba則生成二進制包的同時也生成源碼包。
安裝測試一把:刪除本機的相應文件及目錄。
rpm -ivh radproxy-1.4.6-1.rpm
再檢查一下剛刪除的目錄和文件再次出現。
rpm -q radproxy
返回radproxy-1.4.6-1
rpm -e radproxy-1.4.6-1
刪除安裝包,目錄消失。
上述操作在Redhat Linux 9上測試通過。
⑤ RedHat Linux 2.6內核如何創建Rpm包
所以在這些高版本的RedHat Linux上,我們如果需要定製內核的話,沒有直接的源代碼rpm可以安裝,只能通過kernel.org下載的tar.gz的包手工安裝,或者通過kernel-*.src.rpm編譯出kernel-source包再來安裝。後面一種方法可以享受到RedHat針對內核的某些參數和代碼的優化,因此對使用RedHat發行版特別是企業版本的,是有一定好處的。 但是目前很多人至今分不清內核,內核開發,內核源代碼一些包之間的關系,因此在編譯內核的時候經常走彎路,同時RedHat官方對於如果得到kernel-source也沒有明確的指示,導致很多人不得要領。 首先認清楚各rpm包的內容和用途。 kernel-*.rpm ------------- 內核二進制包,沒有的話系統都起不來。kernel-sourcecode-*.rpm------------------- 內核源代碼包,安裝到/usr/src/linux-*下面的,包含內核源代碼,編譯內核必須(當然是不考慮用kernel.tar.gz編譯的情況),但高版本RedHat Linux不再提供此rpm,原因參見官方Release Note,這篇文章的最終目的就是要我們自己把這個包搞出來。 kernel-devel-*.rpm----------------內核開發包,安裝到/usr/src/kernels,用於內核模塊開發,組織形式跟內核源代碼包類似,包含了部分內核源代碼。注意很多人誤認為這個就是內核源代碼包,直接拿它來編譯內核,當然不可能成功。
⑥ linux 製作rpm包
[轉載]
一個打包自己套件的範例
這個就有趣了!我們自己來編輯一下自己製作的RPM怎麼樣?會很難嗎?完全不會!這里簡單的以一個小例子來說明喔!請注意,這個真的只是一個小例子,所以不要覺得奇怪喔!其中,比較需要注意的,由於在上面的步驟說明中,我們知道在將SRPM編譯成為RPM的時候,會以tar這支程式來將檔案解開,因此,我們在進行來源檔案的建立時,就必需要將他打包成為一個tar.gz的tarball的檔案才行!
假設我們編輯了一支script,內容是這樣:
[root@test root]# cd /usr/src/redhat/SOURCES
[root@test SOURCES]# vi showvbird.sh
#!/bin/bash
# This file is just used to demo the RPM packaging.
# the only thing is showing the hostname.
HOST=`/bin/hostname`
/bin/echo $HOST
[root@test SOURCES]# chmod 755 showvbird.sh
[root@test SOURCES]# tar –zcvf showvbird.tar.gz showvbird.sh
# 注意了,我們必需要將他打包才行!
上面的動作中,我們編輯了一個shell script檔案,檔名為showvbird.sh,並且將他打包成為具有gzip壓縮的tarball檔案,也就是showvbird.tar.gz這樣的檔案才行!請注意,這個showvbird.tar.gz檔案『必需』放置在SOURCES目錄之下!
再來則是要編輯那個很重要的*.spec檔案啰!你可以這樣簡單的編寫一下:
[root@test root]# cd /usr/src/redhat/SPECS
[root@test SPECS]# vi showvbird.spec
Summary: This is a demo RPM package.
Name: showvbird
Version: 1.0
Release: 1
Copyright: GPL
Group: VBird's Home
Source: showvbird.tar.gz <==這個就是剛剛建立起來的Tarball檔案!
Url: http://linux.vbird.org
Packager: VBird
%description
This package is just a demo RPM.
%prep
%setup –c
%install
install -m 755 showvbird.sh /usr/local/bin/showvbird.sh
%files
/usr/local/bin/showvbird.sh
好了!開始給他編譯並打包成為RPM檔案啦!
[root @test SPECS]# rpmbuild -bb showvbird.spec
….(略)
Wrote: /usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm
最後這個被打包成功的檔案就被放置在/usr/src/redhat/RPMS/i586/showvbird-1.0-1.i586.rpm啰!然後給他安裝一下:
[root@test SPECS]# rpm –ivh /usr/src/RPM/RPMS/i586/showvbird-1.0-1.i586.rpm
Preparing... ########################################### [100%]
1:showvbird ########################################### [100%]
[root @test SPECS]# rpm –qi showvbird
Name : showvbird Relocations: (not relocateable)
Version : 1.0 Vendor: (none)
Release : 1 Build Date: Wed 06 Nov 2002 11:27:17 PM CST
Install date: Wed 06 Nov 2002 11:27:42 PM CST Build Host: test.linux.org
Group : VBird's Home Source RPM: showvbird-1.0-1.src.rpm
Size : 143 License: GPL
Packager : VBird
URL : http://linux.vbird.org
Summary : This is a demo RPM package.
Description :
This package is just a demo RPM.
[root @test SPECS]# showvbird.sh
test.linux.org
[root @test SPECS]# rpm –ql showvbird
/usr/local/bin/showvbird.sh <==嘿嘿!已經記錄起來了!自己的軟體耶!
用很簡單的方式,就可以將自己的軟體或者程序給他修改與設定妥當!很不錯吧!以後您就可以自行設定你的RPM啰!當然,也可以手動修改您的SRPM的來源檔內容啰!
⑦ linux下製作安裝rpm包的方法
一、製作rpm包
以rp-pppoe-3.10為列進行製作過程。
1.下載rp-pppoe-3.10.tar.gz
[root@localhost
home]#
pwd
/home
[root@localhost
home]#
2.解壓
#
tar
zxvf
rp-pppoe-3.10.tar.gz
3.
#
cp
/home/rp-pppoe-3.10/rp-pppoe.spec
/usr/src/redhat/SOURCES/
#
cp
/home/rp-pppoe-3.10.tar.gz
/usr/src/redhat/SOURCES/
3.製作rpm包
#
cd
/usr/src/redhat/SOURCES/
#
rpmbuild
-bb
rp-pppoe.spec
<==僅編譯成
RPM
檔案
#
rpmbuild
-ba
rp-pppoe.spec
<==編譯並同時產生
RPM
與
SRPM
檔案
如果編譯成功,就已經製作好rp-pppoe的rpm包了,查看一下
[root@localhost
i386]#
pwd
/usr/src/redhat/RPMS/i386
[root@localhost
i386]#
ll
total
420
-rw-r--r--
1
root
root
186322
01-06
11:09
rp-pppoe-3.10-1.i386.rpm
-rw-r--r--
1
root
root
150356
01-06
11:09
rp-pppoe-debuginfo-3.10-1.i386.rpm
-rw-r--r--
1
root
root
63319
01-06
11:09
rp-pppoe-gui-3.10-1.i386.rpm
[root@localhost
i386]#
二、安裝rpm包
1.查看系統有五安裝過rp-pppoe。
[root@localhost
i386]#
rpm
-qa
rp-pppoe
rp-pppoe-3.5-1
2.刪除系統已經安裝過的rpm包
[root@localhost
i386]#
rpm
-e
rp-pppoe
[root@localhost
i386]#
rpm
-qa
rp-pppoe
3.安裝剛才製作好的rpm包
[root@localhost
i386]#
ls
rp-pppoe-3.10-1.i386.rpm
rp-pppoe-gui-3.10-1.i386.rpm
rp-pppoe-debuginfo-3.10-1.i386.rpm
[root@localhost
i386]#
rpm
-ivh
rp-pppoe-3.10-1.i386.rpm
Preparing...
###########################################
[100%]
1:rp-pppoe
###########################################
[100%]
[root@localhost
i386]#
rpm
-qa
rp-pppoe
rp-pppoe-3.10-1
[root@localhost
i386]#
ls
/etc/ppp/pppoe-server-options
/etc/ppp/pppoe-server-options
以上信息說明安裝成功了哦。
三、錯誤處理
在製作rpm(1.3步)的時候出現錯:
RPM
build
errors:
Installed
(but
unpackaged)
file(s)
found:
解決辦法:
將/usr/lib/rpm/macros
中
%__check_files
/usr/lib/rpm/check-files
%{buildroot}
注釋掉
⑧ 編譯Linux內核的具體步驟
1. 下載內核源代碼,並解壓家目錄
2. 設置好編譯環境
3. 修改好Makefile和.config
4. 執行make -j4
等一下,編譯就會結束了。
⑨ 打rpm包步驟
[TOC]
步驟略,本文將zabbix_agent安裝到/zabbix_agent目錄下。
我們計劃rpm安裝時,安裝在/opt/zabbix_agent目錄,因此需要修改啟動腳本。編輯/zabbix_agent/conf/zabbix_agentd/zabbix_agentd文件修改 BASEDIR=/opt/zabbix_agent
,修改啟動配置增加-c參數指定參數文件全路徑。 $FULLPATH -c $BASEDIR/conf/zabbix_agentd.conf 。
執行rpmdev-setuptree 命令,會在家目錄下生成rpmbuild工作目錄。網上推薦使用非root用戶製作rpm包。
在SPECS目錄執行rpmbuild -bb zabbix_agent.spec名錄,製作rpm包。rpm包會生成在/root/rpmbuild/RPMS目錄下。
RPMS的下一級目錄名字根據spec文件中的配置決定,會與本例有差別。安裝後啟動服務並查看服務狀態。Active: active (running)表示啟動成功。
編輯/opt/zabbix_agent/conf/zabbix_agentd.conf文件,修改服務地址等信息,並重啟agent。測試是否可以將主機加入監控。