Anaconda
== Build ==
- 获取源码:git clone git://git.fedorahosted.org/git/anaconda.git
- 安装依赖包: sudo yum install libtool $(grep ^BuildRequires: anaconda.spec.in | awk ‘{print $2}‘)
- 安装、配置transifex:sudo yum install transifex-client;tx init /tmp
- ./autogen.sh && ./configure && make po-pull && make
== 源码目录结构 ==
- 接口:pyanaconda/ui/
- gui/:图形界面接口实现代码。
- tui/:字符界面及命令行界面实现代码。
- _init_.py 及 common.py:定义了gui和tui通用的基类(base class)
- communication.py:负责UI中类的通信。
- 自定义组件:widgets/
- data/:存放时区地图组件的图片。
- glade/及python/:让用户接口构建器知道组件的存在及实现python的自省。
- src/:实现各组件。
- 分区:python-blivet包
- Bootloader: pyanaconda/bootloader.py
- 各个步骤的配置:
- pyanaconda/desktop.py
- pyanaconda/keyboard.py
- pyanaconda/localization.py
- pyanaconda/network.py
- pyanaconda/ntp.py
- pyanaconda/timezone.py
- pyanaconda/users.py
- 安装软件包:
- pyanaconda/packaging/
- scripts/anaconda-yum
- 安装类: 不同的发行版可以定义不同的安装类。
- pyanaconda/installclass.py
- pyanaconda/installclasses/
- pyanaconda/product.py
- 无人值守安装:pyanaconda/kickstart.py
- liveCD:
- data/icons/
- data/liveinst/
- 错误处理:
- pyanaconda/errors.py
- pyanaconda/exception.py
- 安装控制库
- pyanaconda/install.py:控制安装步骤。
- pyanaconda/progress.py:控制进度条。
- pyanaconda/queue.py:控制通信队列。
- pyanaconda/threads.py:多线程支持。
- 库:提供一些工具如获得用户位置,安装日志等。
- pyanaconda/init.py
- pyanaconda/addons.py
- pyanaconda/anaconda_log.py
- pyanaconda/anaconda_optparse.py
- pyanaconda/constants.py
- pyanaconda/flags.py
- pyanaconda/geoloc.py
- pyanaconda/i18n.py
- pyanaconda/image.py
- pyanaconda/indexed_dict.py
- pyanaconda/isys/
- pyanaconda/iutil.py
- pyanaconda/nm.py
- pyanaconda/safe_dbus.py
- pyanaconda/simpleconfig.py
- pyanaconda/sitecustoimze.py
- 主程序anaconda:由systemd在系统启动后调用,设置环境、VNC等。
- 启动
- data/systemd/
- dracut/
- 内存监控
- scripts/anaconda-cleanup:监控安装过程中的内存状态,并记录到/tmp/memory.dat文件中。
- scripts/instperf及scripts/instperf.p:利用memory.dat文件生成相应的图表。
- 升级工具
- scripts/makebumpver
- scripts/makeupdates
时间: 2024-12-24 17:08:38