如何制作deb安装deb文件文件

定制deb安装包_Linux教程_Linux公社-Linux系统门户网站
你好,游客
定制deb安装包
作者:litrin
选择一个合适的Linux发行版的重要因素就是是否有足够丰富的软件以及软件的维护是否方便。对于正常情况下的使用,继承自Debian系的deb已经可以满足,部分情况下还是无法摆脱需要编译安装的情况。对于有点洁癖的管理员,或者需要大规模部署的情况,每台机器的编译显然不现实,于是就需要定制deb包。
本文以Ubuntu下的操作为例,同样适用于Debian。
修改现有deb包
这种情况往往是现有的deb包已经满足使用,只是需要修改部分文件,例如批量部署apache服务器而不希望每台主机上去修改配置。
下载现有的deb包:可以直接从安装源中找到需要的deb文件,或者通过网易的镜像站&/pool/
解包:dpkg -X& apache2 #将apache2的包解压
修改配置cd apache2这样,你会看到apache2目录下的文件结构很眼熟,跟安装后的文件存放路径完全一致。你可以根据需要修改对应的文件。
提取配置文件dpkg -e ../dpkg -X&会多出一个DEBIAN目录,决定了部分安装参数,同样也可以定制修改。
重新封包cd ..dpkg -b apache2 myApache2.deb
安装测试dpkg -i myApache2.deb
通过deb-source制作deb包
这种方式往往是需要为原有的包进行小幅度优化,例如修改nginx软件的header识别信息,并适用-O3参数重新编译。
获取source包mkdir nginxcd nginxapt-get source nginx &#等待下载
修改代码下载完成后会出现一个nginx*的目录,既是nginx的源码,如果需要修改,则直接进入该目录下修改源码。例如我修改src/core/nginx.h,定制了nginx的头部信息。
修改编译信息源码目录下,相比直接在nginx官网下载的会增加几个目录,其中debian目录下就是deb包特有的配置。修改方式可以参考上种方式。debian/rules是一个可执行文件,直接编辑可以修改。例如我直接将头部的CFLAGS += -O2 变态的修改为&CFLAGS += -O3 -msse3 -mmmx -maccumulate-outgoing-args(没有经过测试,仅作为示例)
准备编译环境和依赖包apt-get install dpkg-buildpackage下载打包工具apt-get build-dep nginx很多情况下不能完成编译就是因为没有执行这一步
重新打包dpkg-buildpackage -uc -d完成后上一级目录将会出现一个或多个deb文件,视情况而定安装测试。
源码制作deb
这种方法相对比较少见了,事实上前两种方法几乎已经解决了80%的应用,即便没有对应的Ubuntu包,也可以从丰富的Debian库中找到合适的deb,这种情况只有少数项目才会需要,例如安装 支持中文分词的索引服务器。
下载,解压源码wget http://…tar ….这一步没什么说的,下载,解压而已。
预编译./configure …make也没什么特殊的,参考官方安装手册的操作
打包apt-get install&checkinstall #下载打包工具checkinstall -D -y -install=no -default make install一定记得要测试一下,相比前两种方法出错概率较高。&&
看到网上很多安装教程都是编译安装的,抱着“没有必要重新发明轮子”的原则,我还是建议尽量使用deb的方式安装。同时建议社区尽可能的提供rpm和deb等安装包,在方便用户的同时同样也有利于产品的优化。
相关资讯 & & &
& (07月15日)
& (12/31/:09)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款如果ubuntu要安装新软件,已有deb安装包(例如:iptux.deb),但是无法登录到桌面环境。那该怎么安装?答案是:使用dpkg命令。
dpkg命令常用格式如下:
sudo dpkg -I iptux.deb#查看iptux.deb软件包的详细信息,包括软件名称、版本以及大小等(其中-I等价于--info)
sudo dpkg -c iptux.deb#查看iptux.deb软件包中包含的文件结构(其中-c等价于--contents)
sudo dpkg -i iptux.deb#安装iptux.deb软件包(其中-i等价于--install)
sudo dpkg -l iptux#查看iptux软件包的信息(软件名称可通过dpkg -I命令查看,其中-l等价于--list)
sudo dpkg -L iptux#查看iptux软件包安装的所有文件(软件名称可通过dpkg -I命令查看,其中-L等价于--listfiles)
sudo dpkg -s iptux#查看iptux软件包的详细信息(软件名称可通过dpkg -I命令查看,其中-s等价于--status)
sudo dpkg -r iptux#卸载iptux软件包(软件名称可通过dpkg -I命令查看,其中-r等价于--remove)
注:dpkg命令无法自动解决依赖关系。如果安装的deb包存在依赖包,则应避免使用此命令,或者按照依赖关系顺序安装依赖包。
阅读(...) 评论()用心创造滤镜
扫码下载App
汇聚2000万达人的兴趣社区下载即送20张免费照片冲印
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
安装办法很简单...你可以选择插件终端....命令自己找吧...而最简单的办法就是利用 Cydia 这个自制作程序....(习惯了....PSP的叫法...)程序Cydia有一个目录.这个目录的用途:是自动安装下载回来的程序,这个目录里面的东西只要重启你的小"疯"就会消失,因为Cydia会自己清除.所以只能用来存放下,我觉得放这里不错.因为,省心.不用自己动手,废话一堆....你无视吧...首先,我们用一个PC同步工具.....或者是 ITOOLS 2012 (更新了版本) 把文件导入你的小"疯" 的下面的目录:/var/root/Media/Cydia/AutoInstall&如果你用了ITOOLS这个工具的话你会非常的省事. 因为他有一个固定Cydia安装目录选项.&&& &就直接导入就可以了....不用这么麻烦....然后,我们回到你的iphone上,打开工具iFile&找到/var/root/Media/Cydia/AutoInstall 这个目录.你会发现你的deb文件就在里面.很多新买的朋友他们老会在各大论坛上问.重启机器里面的deb文件就消失了,因为这个文件夹的作用是给Cydia他自己下载更新的,重启这个目录里面的东西就会被自动清除. 我强调这个目录的作用是因为很多论坛的帖子里面说的比较简单,导致新手基本是不知道他的作用,并操作错误.然后你用iFile打开你要安装deb文件,他会出现几个选项你查看压缩包,解压zip,安装,你当然是选择安装.当然你也可以不安装...然后你进入Cydia你会发现里面没有刚才安装的deb文件,不要乱.其实已经安装了,你看不到是因为你没有操作对,直接进入 软件包 会出现已安装的插件的列表,然后你会看见顶部有 "简单" 这2个字,你按一下他会显示"专业人士",现在你就可以看见你刚才安装的deb文件了.至于卸载,你可以看到就代表你可以通过Cydia卸载他,建议你用Cydia里面卸载.因为os的系统基本很严谨,不会象win,所以还是用正常渠道卸载吧.点击你要卸载的deb文件就会有卸载的项目.别纠结那些所谓的系统垃圾.不会多的,切忌自己用手工清除.要清除就用专门的工具啊.其实不是写给别人看的,是自己写给自己看的....怕自己忘记了.........
阅读(6395)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'iphone 4S 卸载和安装的deb文件简单方法.....',
blogAbstract:'首先,你必须确保你有一台越狱(破解/刷机)的IPHONE ....其次是你确定你的那个deb文件已经安装好.....安装办法很简单...你可以选择插件终端....命令自己找吧...而最简单的办法就是利用 Cydia 这个自制作程序....(习惯了....PSP的叫法...)程序Cydia有一个目录.这个目录的用途:是自动安装下载回来的程序,这个目录里面的东西只要重启你的小\"疯\"就会消失,因为Cydia会自己清除.所以只能用来存放下,我觉得放这里不错.因为,省心.不用自己动手,',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:8,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:2,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 deb文件安装到ios 的文章

 

随机推荐