ubuntu里的软件很多都挺旧的,想要最新版的话最直接的就是自己拿源码编译然后打包。
但问题是系统里的包,很多都是一个软件会有N多个包,差不多是一个模块一个包,你可以自由选择需要哪些模块,然后安装相应的包。而我自己打包的话,也想要拆分成这么多个包,然后需要什么就安装啥包,不知道这个是怎么打的。打成单个包倒是已经实现了。
之所以要模仿打多个包,是因为我想用自己打出来的包替换系统里旧的包。但如果只打成一个的话,那其它依赖到这个包的软件可能还是会使用旧的包。比如:
A软件被打包成a-sqlite, a-mysql, a-db5等多个包。而我自己来打的话,可能就打成一个包A。然后别人依赖A这个软件包的,那应该会使用我打的包,但另外依赖a-mysql等的软件,它可能还是会使用旧a-mysql包,那就达不到我的目的了。
有知道有没有人研究过这个问题。
总之最终目的就是想自己编译最新源码,打包,然后替换掉系统里旧的版本。
如何把一个源码打成多个包以及替换系统里旧的包
-
- 帖子: 5
- 注册时间: 2013-11-02 17:02
- 系统: Ubuntu 13.10
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 如何把一个源码打成多个包以及替换系统里旧的包
既然会打一个包,多个打一起,不是一样的嘛。文件放好目录就是。要去掉旧包,依赖里面写上冲突包名就是。
你替换系统的,不担心系统的软件不兼容,出错?
你替换系统的,不担心系统的软件不兼容,出错?
● 鸣学
-
- 帖子: 5
- 注册时间: 2013-11-02 17:02
- 系统: Ubuntu 13.10
Re: 如何把一个源码打成多个包以及替换系统里旧的包
我是要把一个软件拆成多个包。不知道怎么拆啊。比如sqlite3,它会分成libsqlite3-tcl, libsqlite3-ruby等。eexpress 写了:既然会打一个包,多个打一起,不是一样的嘛。文件放好目录就是。要去掉旧包,依赖里面写上冲突包名就是。
你替换系统的,不担心系统的软件不兼容,出错?
写上冲突包名,它是不是就会把冲突的包给删了?
我指的系统软件是指已经在官方仓库里存在并且安装的。比如sqlite3。然后我想把sqlite3全删了,用我自己编译的安装。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
Re: 如何把一个源码打成多个包以及替换系统里旧的包
拆开,就和系统的源不兼容了。会直接影响上层的依赖。如果其他的包,依赖sqlite3,你就不好搞了。
dpkg-deb 打包,只认目录结构,随便拆。
写上冲突包,是会让你确认删除的。
dpkg-deb 打包,只认目录结构,随便拆。
写上冲突包,是会让你确认删除的。
● 鸣学
- zhw2101024
- 帖子: 1849
- 注册时间: 2009-03-28 16:10
- 系统: Arch debian win7
- 联系:
Re: 如何把一个源码打成多个包以及替换系统里旧的包
有这种需求还是换Arch吧,abs随便折腾。或者再激进点用gentoo
灵活性和稳定性本来就不能完全兼顾的。
灵活性和稳定性本来就不能完全兼顾的。
为什么我的问题总是没有人回答?
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖
金钱、责任与荣誉:OpenSSL主席谈心脏出血
拥有丰富API接口和广泛程序支持的dropbox云同步,点此注册,开始就比别人多500兆,我的空间也会增加。谢啦
==========我的作品==========
我做的一个面向开发者的gnome-shell扩展,有js基础又想自己调整gnome-shell功能的可以尝试一下
gnome-shell扩展开发入门,gnome-shell扩展系统扫盲帖