rpm OR deb package -- install and packaging: Getting started

发行软件

1.打补丁(patch)

2.发布源代码(tarball)

3.发布二进制代码包(rpmdeb等)


1.patch命令发行软件

diff -c version_old.c version_new.c > diffs.patch


升级:

patch version_old.c diffs.patch


回退:

patch -R version_old.c diffs.patch


2.tar归档gzip压缩成tarballs文件

tar cvf myapp-1.0.tar *.c *.h name.N Makefile …

gzip myapp-1.0.tar.gz


tar zcvf myapp-1.0.tgz *.c *.h name.N Makefile …


解包

tar zxvf myapp-1.0.tgz


标准源代码软件包.tar.gz .tar.bz2 .tgz等的安装:

./configure

./configure --prefix=$dir #用来更改安装目录

make

make install


非标准源代码软件包.tar.gz .tar.bz2 .tgz的安装:

先查看readme文件

./setup./install


3.RPM软件包(一般是二进制代码)


命名规范:

Name-version-release.architecture.rpm

Name:软件包的通用名称

Version:该软件的版本号

Release:软件包的RPM版本号

Architecture:程序的架构

Architecture=i386: 表示基于inter系统

Architecture=noarch: 表示不针对特定架构

Architecture=src: 表示是源代码软件包


创建rpm软件包三步:

收集软件

创建spec文件

rpmbuild命令建立rpm软件包


收集软件:

makefile文件中添加打包的部分(二进制文件和手册):

dist:myapp-version.tar.gz

myapp-version.tar.gz:myapp myapp.1

-rm –rfmyapp-version

mkdirmyapp-version

cp *.c*.h *.1 Makefile myapp-version

tar zcvf$@ myapp-version


make dist


tarballs复制到RPMSOURCES文件中

cpmyapp-version.tat.gz /usr/src/SYSTEM/SOURCES

RPM的目录:

SOURCES:程序的源代码

SPECS:放spec文件

BUILD:rpmbuild在这里建立软件

RPMSrpmbuild将创建的二进制RPM软件包放在这里

SRPMSrpmbuildrpm源代码RPM软件包放这里


创建myapp.spec文件:

关注一些重要的选项就可以:

#this isthe intradoction

name:

version:

release:

#set somevalue

summary:one line

%description:few lines

provides: thefunction of the software

requires: dependon what

source: %{name}-%{version}.tar.gz

buildroot: ${_tmppath}/%{name}-%{version}-root

#build thepackage

%prep

%setup –q


%build

make


%install

mkdir –p$RPM_BUILD_ROOT%{_bindir}

mkdir –p$RPM_BUILD_ROOT%{_mandir}

install–m755 myapp $RPM_BUILD_ROOT%{_bindir}/myapp

install–m755 myapp.1 $RPM_BUILD_ROOT%{_mandir}/myapp.1


%clean

rm –rf$RPM_BUILD_ROOT


%post

mail root–s “myapp installed – please register” <dev/null


%files

%{_bindir}/myapp

%{_mandir}/myapp.1


myapp.spec文件复制到SOURCES目录:

cpmyapp.spec /usr/src/SYSTEM/SOURCES


使用rpmbuild建立rpm软件包:

rpmbuild -bBuildStage spec_file


BuildStage:

-ba同时建立rpm二进制软件包和源代码软件包

-bb只建立rpm二进制软件包

-bc只编译程序,不生成rpm软件包

-bp为建立rpm软件包作准备

-bi创建rpm二进制软件包并安装

-bl检查rpm软件包中的列表

-bs只建立rpm源代码软件包


rpmbuild -ba myapp.spec


安装rpm软件包:

安装:

rpm -Uhv name-version-release.architecture.rpm 升级包

rpm -ivh myapp.rpm 安装包

卸载:

rpm -e name

查询:

rpm -qa name


4.DEB软件包:


收集文件:

myapp/DEBIAN/control

myapp/*.c

myapp/*.h

myapp/Makefile


配置控制文件myapp/DEBIAN/control:

version:

architecture:

description:


dpkg命令打包:

dpkg –b myapp/ myapp.deb


安装DEB包:

安装:

dpkg -i myapp.deb

卸载:

dpkg -r myapp

查看

dpkg -l pattern

#######################################################


未完待续......

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值