如何从Linux源码创建RPM或DEB包

2016-02-20 04:59 7 1 收藏

有一种朋友不在生活里,却在生命力;有一种陪伴不在身边,却在心间。图老师即在大家的生活中又在身边。这么贴心的服务你感受到了吗?话不多说下面就和大家分享如何从Linux源码创建RPM或DEB包吧。

【 tulaoshi.com - Linux教程 】

在Linux系统操作中,因为某些原因而想要直接从源码创建安装的软件包,下面图老师小编就给大家介绍下如何在Linux系统下从源码创建RPM或DEB包,以便将来可以更容易的卸载程序,一起来了解下吧。

如果你已经从它的源码运行make install安装了linux程序。想完整移除它将变得真的很麻烦,除非程序的开发者在Makefile里提供了uninstall的目标设置。否则你必须在安装前后比较你系统里文件的完整列表,然后手工移除所有在安装过程中加入的文件。

这时候Checkinstall就可以派上使用。Checkinstall会跟踪install命令行所创建或修改的所有文件的路径(例如:make install、make install_modules等)并建立一个标准的二进制包,让你能用你发行版的标准包管理系统安装或卸载它,(例如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安装好,你就可以用下列格式创建一个特定的软件包

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

# 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:

 如何从Linux源码创建RPM或DEB包

你可以输入一个包的简短描述,然后按两次回车:

 如何从Linux源码创建RPM或DEB包

输入一个数字以修改下面的任何值或ENTER继续:

 如何从Linux源码创建RPM或DEB包

然后checkinstall将自动地创建一个.rpm或者.deb包,根据你的linux系统是什么:

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

在CentOS7:

 如何从Linux源码创建RPM或DEB包

在Debian 7:

 如何从Linux源码创建RPM或DEB包

上面就来Linux系统下使用checkinstall从源码创建RPM或DEB包的方法介绍了,该方法只适用于红帽子和Debian为基础的发行版,其他版本可以做个参考。

来源:http://www.tulaoshi.com/n/20160220/1638178.html

延伸阅读
mysql是linux平台下最流行的数据库系统,今天介绍的是mysql的安装及简单的操作方法! groupadd mysql //建立mysql用户组 useradd -g mysql mysql //建立mysql帐户 tar -zxvf mysql-x.x.xx.tar.gz //解压缩mysql cd mysql-5.0.45 //进入解压好的mysql目录 ./configure –prefix=/usr/local/mysql –with-charset=utf8 –with-collation...
今天一个网友问了一个问题,没有想到,自己忘记知识的能力倒很强.....把一些常用的放在这里,大家需要也可以拷贝过去,基础的东西还是不要丢,唉....三天不练手生啊 1.如何安装rpm软件包 rmp软件包的安装可以使用程序rpm来完成。执行下面的命令 rpm -i your-package.rpm 其中your-package.rpm是你要安装的rpm包的文件名,一般置于当前目录下。 ...
标签: 电脑入门
Ctags工具主要用来遍历源码文件,快速查找定位源码中的符号,那么Linux下要如何使用Ctags来查找源码呢?下面随图老师小编一起来学习下Linux下使用Ctags查找源码的方法。 太多的文件导致我们无法去定位一个函数的实现或者一个宏定义的位置。显然对于源码的阅读和个人的学习都是非常不利的。多么希望有一个软件能够输入命令就能够精确的定位函数...
标签: 服务器
Linux如何创建使用逻辑卷管理LVM       LVM是逻辑卷管理,是Linux下对磁盘分区管理的一种机制,相信不少人想要知道Linux如何创建LVM和LVM的使用方法,因此小编将针对LVM的创建和使用做个详细介绍,一起来学习下吧。 LVM讲解: 图像大纲: 1)LVM是什么,作用: LVM称为逻辑卷管理,作用是提高磁...
标签: 电脑入门
setfacl是Linux下设置文件访问控制列表的命令,可用来创建文件,能够继承目录的权限,有些功能类似于chmod命令,下面图老师小编就给大家介绍下Linux使用setfacl命令创建权限文件的方法,一起来学习下吧。 下面以 root 用普通用户 user1 。在目录/mnt下 [root@RedHat-7 mnt]# setfacl -m u:user1:rwx share //为目录添加ower = user1 ...

经验教程

961

收藏

22
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部