Reference:
http://bbs.chinaunix.net/home.php?mod=space&uid=20172731&do=thread&view=me&type=thread&order=dateline&from=space&page=7
http://bbs.chinaunix.net/thread-1302613-1-1.html
http://bbs.chinaunix.net/thread-1304509-1-1.html
http://bbs.chinaunix.net/thread-1305463-1-1.html
http://bbs.chinaunix.net/thread-1305464-1-1.html
http://bbs.chinaunix.net/thread-1308268-1-1.html
之所以选择system-config-kickstart,是因为一直都熟悉这个工具,明白其功能,但不明白其用python是如何实现的,对于python在linux的系统管理方面的作为,最为精辟的论述莫过于《Python for Unix and Linux System
Administration》中第266页中如下内容:
Red Hat is doing a whole slew of things with Python as a company and as an operating system.
从系统管理配置工具到大名鼎鼎的anaconda再到现在的虚拟化管理甚至是集群、存储的管理工具,哪一个不是python写的?
当然,在系统中用python做工具的不止redhat,ubuntu也有不少工具,gentoo,arch等等不一而论,之所以选择redhat的工具,是因为其服务器的领头地位。
如上便是我记录学习历程的理由。
其网址是http://fedoraproject.org/wiki/SystemConfig/Tools,可以下载其正在开发中的版本。下载后,其文件有:
/data/lee/tmp/python/redhat_system_tools/system-config-kickstart $ tree .
.
|-- AUTHORS //作者
|-- COPYING //软件版权所有、及协议
|-- Makefile //make编译配置文件
|-- doc //文档目录
| |-- docbook.css
| |-- figs
| | |-- ksconfig-auth.png
| | |-- ksconfig-basic.png
| | |-- ksconfig-bootloader.png
| | |-- ksconfig-confirm.png
| | |-- ksconfig-firewall.png
| | |-- ksconfig-install.png
| | |-- ksconfig-network.png
| | |-- ksconfig-part-options.png
| | |-- ksconfig-partitions.png
| | |-- ksconfig-pkgs.png
| | |-- ksconfig-postscript.png
| | |-- ksconfig-prescript.png
| | |-- ksconfig-raid-device.png
| | |-- ksconfig-raid-new.png
| | |-- ksconfig-xconfig-general.png
| | |-- ksconfig-xconfig-monitor.png
| | |-- ksconfig-xconfig-videocard.png
| | `-- rhlogo.png
| |-- index.html
| |-- intro.html
| |-- legalnotice.html
| |-- rhdocs-man.css
| |-- stylesheet-images
| | |-- caution.png
| | |-- important.png
| | |-- note.png
| | |-- tip.png
| | `-- warning.png
| |-- system-config-kickstart-auth.html
| |-- system-config-kickstart-basic.html
| |-- system-config-kickstart-bootloader.html
| |-- system-config-kickstart-bugzilla.html
| |-- system-config-kickstart-firewall.html
| |-- system-config-kickstart-install.html
| |-- system-config-kickstart-interpreter.html
| |-- system-config-kickstart-network.html
| |-- system-config-kickstart-partitions.html
| |-- system-config-kickstart-pkgs.html
| |-- system-config-kickstart-postinstall-examples.html
| |-- system-config-kickstart-postinstall.html
| |-- system-config-kickstart-prescript.html
| |-- system-config-kickstart-savefile.html
| |-- system-config-kickstart-xconfig-monitor.html
| |-- system-config-kickstart-xconfig-videocard.html
| `-- system-config-kickstart-xconfig.html
|-- man //在线文档man目录
| |-- Makefile
| |-- en
| | `-- system-config-kickstart.8
| `-- ja
| `-- system-config-kickstart.8
|-- pixmaps //logo
| `-- system-config-kickstart.png
|-- po //存放GNUtext的翻译文件
| |-- Makefile
| |-- ar.mo
| |-- ar.po
| |-- as.mo
| |-- as.po
| |-- bg.mo
| |-- bg.po
| |-- bn.mo
| |-- bn.po
| |-- bn_IN.mo
| |-- bn_IN.po
| |-- bs.mo
| |-- bs.po
| |-- ca.mo
| |-- ca.po
| |-- cs.mo
| |-- cs.po
| |-- cy.mo
| |-- cy.po
| |-- da.mo
| |-- da.po
| |-- de.mo
| |-- de.po
| |-- el.mo
| |-- el.po
| |-- en_GB.mo
| |-- en_GB.po
| |-- es.mo
| |-- es.po
| |-- et.mo
| |-- et.po
| |-- fa.mo
| |-- fa.po
| |-- fi.mo
| |-- fi.po
| |-- fr.mo
| |-- fr.po
| |-- gu.mo
| |-- gu.po
| |-- he.mo
| |-- he.po
| |-- hi.mo
| |-- hi.po
| |-- hr.mo
| |-- hr.po
| |-- hu.mo
| |-- hu.po
| |-- hy.mo
| |-- hy.po
| |-- id.mo
| |-- id.po
| |-- is.mo
| |-- is.po
| |-- it.mo
| |-- it.po
| |-- ja.mo
| |-- ja.po
| |-- ka.mo
| |-- ka.po
| |-- kn.mo
| |-- kn.po
| |-- ko.mo
| |-- ko.po
| |-- ku.mo
| |-- ku.po
| |-- lo.mo
| |-- lo.po
| |-- mk.mo
| |-- mk.po
| |-- ml.mo
| |-- ml.po
| |-- mr.mo
| |-- mr.po
| |-- ms.mo
| |-- ms.po
| |-- my.mo
| |-- my.po
| |-- nb.mo
| |-- nb.po
| |-- nl.mo
| |-- nl.po
| |-- or.mo
| |-- or.po
| |-- pa.mo
| |-- pa.po
| |-- pl.mo
| |-- pl.po
| |-- pt.mo
| |-- pt.po
| |-- pt_BR.mo
| |-- pt_BR.po
| |-- ru.mo
| |-- ru.po
| |-- si.mo
| |-- si.po
| |-- sk.mo
| |-- sk.po
| |-- sl.mo
| |-- sl.po
| |-- sq.mo
| |-- sq.po
| |-- sr.mo
| |-- sr.po
| |-- sr@latin.mo
| |-- sr@latin.po
| |-- sv.mo
| |-- sv.po
| |-- system-config-kickstart.pot
| |-- ta.mo
| |-- ta.po
| |-- te.mo
| |-- te.po
| |-- tmp
| | `-- system-config-kickstart.glade.h
| |-- tr.mo
| |-- tr.po
| |-- uk.mo
| |-- uk.po
| |-- ur.mo
| |-- ur.po
| |-- vi.mo
| |-- vi.po
| |-- zh_CN.mo
| |-- zh_CN.po
| |-- zh_TW.mo
| `-- zh_TW.po
|-- src //源文件,这是重点要分析的。
| |-- #raidOptionsWindow.py#
| |-- auth.py
| |-- auth.pyc
| |-- basic.py
| |-- basic.pyc
| |-- bootloader.py
| |-- bootloader.pyc
| |-- firewall.py
| |-- firewall.pyc
| |-- hardwareLists.py
| |-- hardwareLists.pyc
| |-- install.py
| |-- install.pyc
| |-- kickstartGui.py
| |-- kickstartGui.pyc
| |-- network.py
| |-- network.pyc
| |-- packages.py
| |-- packages.pyc
| |-- partEntry.py
| |-- partEntry.pyc
| |-- partWindow.py
| |-- partWindow.pyc
| |-- partition.py
| |-- partition.pyc
| |-- profileSystem.py
| |-- profileSystem.pyc
| |-- raidOptionsWindow.py
| |-- raidOptionsWindow.pyc
| |-- raidWindow.py
| |-- raidWindow.pyc
| |-- savedialog.py
| |-- savedialog.pyc
| |-- savefile.py
| |-- savefile.pyc
| |-- scripts.py
| |-- scripts.pyc
| |-- system-config-kickstart
| |-- system-config-kickstart.glade
| |-- system-config-kickstart.gladep
| |-- xconfig.py
| `-- xconfig.pyc
|-- system-config-kickstart.desktop.in //gnome或kde的启动器
`-- system-config-kickstart.spec //rpm包的spec文件
共有10 directories, 221 files。而我们管不了那么多,只有一个src对我们有用。至于文件则是一个都不会放过。