看鸟哥的私房菜也有很长一段时间了,终于到了怎么安装程序的地方了,记录下
我是用root使用rpmbuild这个命令的,鸟哥的系统的工作目录是在/usr/src/redhat/
我的系统版本是centos7和鸟哥的不一样,实在/root/rpmbuild/,不知道和用户有没有关系,也没测试下…..
1.一个程序
makefile文件代码
main: main_1.o main_2.o main_3.o main_4.o
gcc -o ${FILE_NAME}
#main: main_1.o main_2.o main_3.o main_4.o
clean:
\rm ${FILE_NAME}
install:
mkdir -p $(RPM_INSTALL_ROOT)/usr/local/bin/
install -m 755 main $(RPM_INSTALL_ROOT)/usr/local/bin/main
main.spec文件代码,我的只是很简单的测试,很多选项都没有用到
Name: main
Version: 0.1
Release: 1
Summary: test rpmbuild
Group: xxxxx
License: GPL
URL: www.xxxxxxxxxx.com
Source0: main-0.1.tar.gz
Packager: xxxxx
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}
%description
zhishi geceshi ===》这里是描述随便写
%prep
%setup -q
%build
make =》编译,我的是用make编译的,好像还有configure什么的,初次接触,不了解
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
make install RPM_INSTALL_ROOT=%{buildroot}
#上面的部分是安装的部分,说白了就是让这个程序在很多地方都可以直接使用,不用输入绝对路径,这个程序如果是用解压安装的方式的话,如果make install了,就会在/usr/local/bin/文件下面创建一个文件main_test,这里就是做这一步,但是这里不是真正的安装,所以不能真的去系统文件夹去去创建文件,于是就模拟的在~/BUILD/main-0.1/模拟成根目录,再在/usr/local/bin/文件下面创建一个文件main_test
%files
/usr/local/bin/main_test ==》 这个得和上面的路径一样,不然会报错
%doc
%changelog
*Wed Jul 01 2015 xxxxxxx xxxxxx<965724085@qq.com> 0.1 ===>这里的日期格式要对,不然报错
-zhishigeceshi ===>必须要有这个说明,不然报错