QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: sinanjj

magic用于工控要进行的定制

[复制链接]
发表于 2008-8-21 18:46:06 | 显示全部楼层
工控为什么还要考虑 apt 的问题?
完全可以用 apt 搭建好系统,减肥,把这个系统完全的 tar 压缩出来,自己再写一个解压缩的代码,安装 grub 的代码很容易吧?
让你用 debian ,不是让你每次都用 apt 装系统,要你的是你用安装好的系统制作一个安装盘,这种安装我记得很多实现方法。
8M 包括编译环境,这个是完全手动重新搭建,同样也没有安装环境的!

如果你非要自己制作安装盘,目前貌似有这样的工具,只要系统装好了,就能制作安装盘。
有一个系统我记得还支持整理当前系统的软件包,之后制作一个使用当前系统的包的安装盘。
但这种软件我就见过一次。
回复

使用道具 举报

发表于 2008-8-22 00:40:04 | 显示全部楼层
是Linux就得面对包的依赖,
江涛的方法是可行的,因为硬件一般情况都是直接由内核支持的,你只要包含一个完整的内核,tar解压后,在适当的根据目标系统修改一些配置文件和脚本就能完成安装。
LiveCD适应硬件就是这样的。
vista也已经采用镜像安装的方法了。

也许Magic是需要一种吸引人,和有助于积累零星的参与的机制,很多发行版本和开源项目都是确保核心开放外围的
回复

使用道具 举报

 楼主| 发表于 2008-8-24 19:35:09 | 显示全部楼层

汇报一下进展.......成功了

"完全可以用 apt 搭建好系统,减肥,把这个系统完全的 tar 压缩出来,自己再写一个解压缩的代码,安装 grub 的代码很容易吧?"

用江涛的思路几个小时就搞定了, 制作系统盘用Mondorescue或mkiso都可.....

连减肥都没用, 装最小系统, gpt 装gcc,gdb, xorg, perl....大概200M(xorg才44M,)

惊讶于国外服务器的网络比国内的还快.....

下一步写gtk代码了..., 我还答应一位前辈做一下往ARM平台移植的工作...

非常感谢江涛一直提供思路, 不过, 我还是感觉这样apt不知道做了什么不太好, 有时间一定用逐个减rpm包的做法精简下magic.

magic的apt也支持的很好.....
回复

使用道具 举报

发表于 2008-8-25 13:27:06 | 显示全部楼层
呵呵,要知道一个Linux系统是如何搭起来的可以这样
1。反复看LFS手册明白每一步为什么要那样子
2。安装一个arch或debian或gentoo的基本系统和基础编译工具
3。下载已安装的包的原代码,不看lfs手册,在2的系统上重新编译安装和配置各个包(升级和替换安装好的二进制包),可以根据需要自行选择补丁和编译参数,可以选择需要的部分进行编译。
4。3完成后,编译安装配置其他需要的软件
(源代码都从每个包的项目主页上下载)
回复

使用道具 举报

 楼主| 发表于 2008-9-18 22:37:09 | 显示全部楼层

找到一个bug------非常恶心的bug

详细过程略, bug大体描述为:

用apt-get构建的系统, 只要有一个包坏了(升级了, 版本高了, 包冲突了等等), 那系统就得从装.

我apt-get 卸载&&安装 坏的包, 结果是那个坏的包永远不可能再被装上了, 除了大清理.

建议更好的思路是: 装最小系统, 网络装gcc autoconf, 然后源码装 x等, 留源码, 便于模块化操作.
回复

使用道具 举报

发表于 2008-9-19 09:51:17 | 显示全部楼层
apt 不会这么差吧?
如果你用源代码安装,那你的系统出问题,你就根本不知道什么地反除错了。
回复

使用道具 举报

 楼主| 发表于 2008-9-21 10:04:37 | 显示全部楼层

猜一下apt的原理, 就该知道怎么回事了

apt会维护一个软件列表及其依赖关系的数据库, 每次安装卸载等最后都是 ...database...

把每个软件当成一个节点, 那成千上万个节点和其依赖关系就组成了一张网, apt安装会把最小的独立网装上, 并更新数据库.

我遇到的这个问题很简单, 就是升级过程中更新了部分软件版本, 然后, 我在卸载x时, 没有remove xorg, 而是remove xserver-xorg-core.....以为这样改动更小些, 结果是彻底死了, remove了就不能install了, 把xorg卸了再装也不行. 根据回显显然是不知道apt 的database弄成什么样了, 反正是一直冲突.

还有一个细节, 就是我更新了apt源, ---------综合原因导致.

而我现在编写软件一方面要大量的引用源代码, 用源码安装一些大型软件他的依赖性可以调整(比如装postsql可以调整不装perl支持), 这样依赖关系和软件级定制都有可能实现, 所以我现在更倾向这种方式.

不过2个月了, 我觉得还是放一放系统定制, 现在现成发行版系统上把软件运行了先........................虽然这样运行没有显出linux比windows的巨大优势(速度, 稳定性等肯定比不过一个定制好的系统)
回复

使用道具 举报

发表于 2008-9-21 20:15:22 | 显示全部楼层
smart 可以避免apt-get的这个毛病。
回复

使用道具 举报

发表于 2008-9-21 20:38:51 | 显示全部楼层
apt 好像有强制修复依赖损坏的功能。
另外 apt 要和本地包管理器程序配合使用的。
回复

使用道具 举报

发表于 2008-9-21 21:06:20 | 显示全部楼层
apt-get的修复功能大部分时候是通过删除相关包解决的。不是理想的方案。
回复

使用道具 举报

发表于 2008-9-21 21:42:06 | 显示全部楼层

用 rpm 或者 dkpg 安装被删了的包不就行了?
回复

使用道具 举报

发表于 2008-9-30 01:18:11 | 显示全部楼层
我喜欢用slackware,也裁剪用于无盘服务器等之类的,不靠gpt-get、yum之类软件,最简系统及目标系统的各软件包的依赖关系必须要自己搞清楚,当然这样也可以让自己对软件包间的关联有更深入的了解。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-18 17:20 , Processed in 0.093301 second(s), 13 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表